# Formatieren von Zellen in Excel mit Java POI



## FranziskaM (8. Okt 2008)

Hallo ihr Lieben,

ich habe ein Problem mit Java und Excel. Und zwar versuche ich Zellen zu formatieren, die ich zuvor eingefügt habe.

Das mache ich wie folgt:

HSSFFont fontBold = wb.getFontAt((short)2); 
fontBold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 
fontBold.setColor(HSSFFont.COLOR_NORMAL);
HSSFCellStyle styleBold = wb.createCellStyle();
styleBold.setFont(fontBold); 
...
ausgabeCell.setCellStyle(styleBold);

Das klappt aber nur so lange, wie ich nicht weiter unten im Code eine weitere Zelle formatieren möchte. Die weiter unten sollen nämlich rot angezeigt werden. Dafür hab ich nen neuen HSSFFont angelegt und das genauso wie zuvor angelegt, nur anstatt COLOR_NORMAL COLOR_RED hingeschrieben. Jetzt sind auf einmal alle formatierten Zellen rot :-(

Kann mir jemand sagen, wie ich die ersten Zellen nur fett und danach welche fett und rot bekomme?

Danke für die Hilfe

Franziska


----------



## SlaterB (8. Okt 2008)

> Dafür hab ich nen neuen HSSFFont angelegt 

wie hast du das gemacht? 
> HSSFFont fontBold = wb.getFontAt((short)2); 
klingt ja nicht gerade nach neuanlegen

poste doch einfach den Code..


----------



## Zed (8. Okt 2008)

Soweit ich weiß Arbeitet HSSF so das jede Cell ein Format zugeornet wird. Ein format kann mehrere Zellen abdecken. wird das Format geändert wirken sich die Änderung auf alle Cellen aus mit dem das Format verbunden sind. 

Ein Problem in das du laufen könntest ist das Excel nur eine bestimme an Anzahl an Formatierungen bedienen kann.


----------



## FranziskaM (8. Okt 2008)

Hallo,

das war mein Code, also hab ich keinen neuen HSSFFont angelegt... !?
Wie mach ich das den dann?


----------



## SlaterB (8. Okt 2008)

http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html#createFont()

wobei ich nicht genau sagen kann, was welche Auswirkungen hat,

meine Meinung ist nur: wenn du zweimal wb.getFontAt((short)2); aufrufst, 
kann es gut sein, dass du dasselbe Objekt hast (per == auch leicht zu überprüfen)


----------



## FranziskaM (8. Okt 2008)

Klappt wunderbar, danke!


----------

