この投稿を見ましたが、解決策があるようです。とにかく、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 形式) でカスタム パレットを使用する方法の例を誰でも示すことができます。