2016-07-13 24 views
4

Ich verwende lucee-spreadsheet, was ein großartiges Werkzeug ist. Ich mache eine sehr große Tabelle (mehrere Blätter in einer Arbeitsmappe mit Tausenden von Zeilen pro Blatt). Alles funktioniert wie erwartet. Ich habe die Blätter mit Daten gefüllt und zwischen den vom Kunden gewünschten Gruppen leere Zeilen erstellt. Ich gehe jetzt zurück und versuchen, einige Formatierungen anzuwenden und ich in den Fehler leite:Fehler beim Formatieren einer lucee-Tabelle: Die maximale Anzahl der Zellenformate wurde überschritten

The maximum number of cell styles was exceeded. You can define up to 4000 styles in a .xls workbook

Das Problem ist, dass ich nur versucht haben, einen Stil anzuwenden:

spreadsheet.formatColumns(workbook=workbook, format={dataformat="$##,####0.00"},range='5-20');

Es gibt eine Reihe anderer Stile, die ich anwenden muss. Ich nehme an, da es mehr als 500 Zeilen gibt und dieser Stil auf 16 Spalten angewendet wird, formatiert der Stil tatsächlich jede Zelle und nicht die Spalte.

Gibt es einen anderen Weg, wie ich diesen Stil anwenden könnte oder sollte?

+0

Vielen Dank für Ihre Meldung. Ich habe ein Ticket ausgestellt und werde es so bald wie möglich ansehen: https://github.com/cfsimplicity/lucee-spreadsheet/issues/84 – CfSimplicity

Antwort

5

Mit Blick auf die lucee-spreadsheet source code, formatColumns erstellt einen neuen Zellenstil für jede Zelle, die es formatiert. Leider ist dies nicht optimal, und die Beschränkungen in Apache POI für Stile in einer Tabelle werden für das Excel 97 (HSSF) -Tabellenformat getroffen. Es wäre besser, formatCellRange, die Zellenstile wiederverwendet, zu verwenden, bis die Betreuer eine bessere formatColumns-Funktion implementieren, um die Wiederverwendung von Stilen zu nutzen.

+1

Ich bin der Betreuer. Danke, dass du darauf hingewiesen hast. Dieser Teil des Codes wurde von einem früheren Projekt geerbt, aber ich hebe ein Ticket an und sehe, ob es verbessert werden kann, wie Sie es vorschlagen. Danke noch einmal. – CfSimplicity

+0

Vielen Dank beide Ich werde auf formatCellRange wechseln und suchen Sie das Update von cfSimplicity. – Lance

+1

Dies wurde alles in der Bibliothek von @CfSimplicity behoben. Tolles Werkzeug – Lance