我看过这篇文章,但看起来确实有解决方案。无论如何,我正在使用 ColdFusion 10 生成 Excel 电子表格。但是,当我使用 SpreadsheetFormatRow() 并传入要格式化的行时,它只执行大约 3 次然后突然停止。这是一个例子......
ColdFusion 代码
<cfscript>
rowCount = 1;
headingRows = 4;
// Create instance of new Spreadsheet
excelSheet = SpreadsheetNew("ReportName",false);
// HEADING (IMAGE) ROW FORMAT
formatHeadingRow = StructNew();
formatHeadingRow.fgcolor="blue";
// Add rows to fill the header area (must add as many as we are spanning with the above image)
for (x=0;x<headingRows;x++) {
SpreadsheetAddRow(excelSheet,"TEST,TEST,TEST,TEST,TEST,TEST,TEST,TEST,TEST,TEST,TEST,TEST");
SpreadsheetFormatRow(excelSheet,formatHeadingRow,rowCount);
rowCount++;
}
</cfscript>
<!--- stream it to the browser --->
<cfheader name="Content-Disposition" value="inline; filename=reportName.xls">
<cfcontent type="application/vnd.ms-excel" variable="#SpreadSheetReadBinary(excelSheet)#">
这是生成的 Excel 工作表的屏幕截图
为什么格式化在 X 行和单元格数后停止?如果我切换到使用 XML 格式
excelSheet = SpreadsheetNew("ReportName",true);
它工作正常。但是,我正在为我的颜色使用自定义调色板,所以我不认为切换到 XLSX 格式对我有用。当我尝试然后打电话时
palette = excelSheet.getWorkbook().getCustomPalette();
我收到一条错误消息,指出 getCustomPalette() 方法未定义。
coldfusion.runtime.java.MethodSelectionException: The getcustompalette method was not found
谁能帮我解决这个问题?谢谢!!!
甚至更好,因为它适用于 XML 格式,任何人都可以展示如何使用带有 XLSX(xml 格式)的自定义调色板的示例