5

我正在使用lucee-spreadsheet,这是一个很棒的工具。我正在制作一个非常大的电子表格(工作簿中有多个工作表,每张工作表有数千行)。一切都按预期工作。我已经用数据填充了工作表,并在客户想要的组之间创建了空白行。我现在要回去尝试应用一些格式,但我遇到了错误:

已超出单元格样式的最大数量。您可以在 .xls 工作簿中定义多达 4000 种样式

问题是我只尝试应用一种样式:

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

我需要应用许多其他样式。我猜测,由于有超过 500 行并且这种样式被应用于 16 列,因此该样式实际上是在格式化每个单元格而不是列。

我可以或应该以不同的方式应用这种风格吗?

4

2 回答 2

5

查看lucee-spreadsheet 源代码formatColumns正在为它格式化的每个单元格创建一个新的单元格样式。不幸的是,这是次优的,Apache POI 对电子表格样式的限制正在针对 Excel 97 (HSSF) 电子表格格式。最好使用formatCellRange重用单元格样式的 ,直到维护者实现更好的formatColumns功能以利用样式重用。

于 2016-07-13T09:16:33.743 回答
1

可能有帮助的一件事是将输出格式从 切换.xls.xlsx. 使用该.xls格式,我只看到电子表格前 156 行的格式。这是 .xls 文件格式的限制。我使用spreadsheet.newXlsx()而不是spreadsheet.new(),并且能够生成一个xlsx文件,并且我正在使用的 750 行的格式正确显示。

于 2018-04-16T20:28:07.143 回答