# Xml-datei zu Excel exportieren



## Frankie (25. Sep 2007)

Hi,
ich exportiere eine Xml-Datei in ein Excel-Workbook, das ganze erfolgt über POI, also HSSFWorkbook, HSSFRow und HSSFCell. Zuvor werden Formatierungen für einzelne Zeilen und Spalten festgelegt. Z.B. Spaltenüberschriften in Fett usw.
Es klappt auch wunderbar, nur wenn die XML-Datei zu groß ist, es also 300 Tabellen/Sheets im Workbook geben würde kommt von Excel die Fehlermeldung: Zu viele verschiedene Zellformate. Wenn ich nun alle meine Formatierungen auskommentiere funktioniert es wieder. Nur dann sieht halt die excel-Tabelle ziemlich scheiße aus und ist so nicht brauchbar.
Meine Frage ist nun: Kann ich diese Einschränkung von Excel irgendwie umgehen oder hab ich nun einfach Pech und kann große XML.Dateien nicht zu Excel exportieren????
Hab schon im Netz gegoogelt aber leider nichts gefunden was weiter hilft...ich hoffe nun, dass hier schon mal jemand ein ähnliches Problem hatte.


----------



## maki (25. Sep 2007)

Setzt du die Formate für jede Zelle einzeln?
Kannst du nicht das Format für eine ganze "Range" setzen?


----------



## Frankie (25. Sep 2007)

das Format wird für jede Zelle einzeln gesetzt. Wie könnte ich es denn für eine ganze Range setzen wie du es gemeint hast??


----------



## kama (25. Sep 2007)

Hallo,

Du solltest die Objekte für die Formatierung nicht jedesmal neu erzeugen (new ...) sonder wieder verwenden....das hat bei mir jedenfalls geholfen....

MfG
Karl Heinz Marbaise


----------



## Frankie (25. Sep 2007)

Ich habe nun den code dahingehen abgeändert, dass ich das HSSFCellStyle Objekt nur noch einmal erzeuge:

```
HSSFCellStyle cellStyle = workbook.createCellStyle
```

Dem Objekt cellStyle füge ich nun in verschiedenen Methoden unterschiedliche Attribute zu. Es ist jetzt zwar so, dass der Fehler mit den zu vielen Formaten nicht mehr kommt, aber ich habe nun auch nur noch eine Formatierung da ich HSSFCellStyle nur noch einmal erzeuge. Kann ich das HSSFCellStyle Objekt zu Beginn jeder Methode wieder leeren oder müsste ich es dann doch wieder neu erzeugen um unterschiedliche Formatierungen nutzen zu können??


----------



## NJonathanS (21. Feb 2008)

hi,

also hatte das Gleiche auch ausprobiert, aber bei mir kommt immernoch die Meldung, dass zu viele Zellformate vorhanden sind. Hab nur ein Objekt für die CellStyles aber es sollte doch egal sein wie viele verschiedene Objekte ich verwende, sondern das Problem ist eher dass jede Zelle neu formatiert werden muss!!!
Kennt vielleicht jemand ne Möglichkeit komplette Zeilen bzw Spalten auf einmal zu formatieren?

Excel2007 formatiert die Zellen beim lesen um so dass man wenigstens noch Zugriff auf die Datei hat (bis zu 56.000 Formate möglich)! Allerdings kann das auch nicht im Sinne des Erfinders sein.

Für jeden Rat wäre ich dankbar
Gruß


----------

