2016-12-12 8 views
0

Ich bekomme einen seltsamen Fehler mit Apache POI Version 3.15 (derzeit die neueste stabile Nicht-Beta-Build) und meine Internet-Suche zeigen keine anderen mit diesem Fehler. Ich versuche einfach fett einer Zelle, zum Beispiel:Apache POI Problem mit Schriftart

Workbook wb = new HSSFWorkbook(); 
HSSFFont font = wb.createFont(); 
font.setBold(true); 

Bereits ich in ein Problem laufen, wo es die Schrift behauptet, die Arbeitsmappe zu schaffen, ist kein HSSFFont, aber einige normale Schrift:

inkompatible Typen: Schriftart kann nicht auf HSSFFont

I umgewandelt werden, habe versucht, eine normale Schrift zu schaffen und es den Cellstyle Anwendung, aber das führt zu einer Nullpointer wenn es um den Cellstyle hinzufügen. Ich bin ratlos.

Antwort

2

wb.createFont() gibt ein org.apache.poi.ss.usermodel.Font, aber wenn man die Laufzeitklasse der Font es gibt inspizieren, es ist eigentlich ein HSSFFont. Sie können versuchen, zu einem HSSFFont Gießen oder es einfach als Font Zugriff:

final Workbook wb = new HSSFWorkbook(); 

final HSSFFont hssfFont = (HSSFFont)wb.createFont(); 
hssfFont.setBold(true); 

final Font font = wb.createFont(); 
font.setBold(true); 
+0

Sie tat es! Vielen Dank. Ich frage mich, warum all die anderen Fragen nicht so sein mussten? Naja. –