これはこれまでの私のコードです。クエリからデータを取得し、それを Excel ドキュメントにエクスポートします。
<cfscript>
oArray = CreateObject("java", "java.util.Arrays");
workbook = CreateObject("java", "org.apache.poi.xssf.usermodel.XSSFWorkbook");
workbook.init();
myFont = workbook.createFont();
myFont.setBoldweight(myFont.BOLDWEIGHT_BOLD);
boldStyle = workbook.createCellStyle();
boldStyle.setFont(myFont);
</cfscript>
<!--- Set up the headings for the Excel worksheet --->
<cfscript>
thisSheet = workbook.createSheet(JavaCast("string", 'invoices due'));
rows = {};
// we need to refer to these three rows later on
rows[1] = thisSheet.createRow(0);
rows[2] = thisSheet.createRow(1);
rows[3] = thisSheet.createRow(2);
rows[4] = thisSheet.createRow(3);
//Report parameters explanation
thisCell = rows[2].createCell(0, 1);
thisCell.setCellValue(reportSum);
// user column headings
thisCell = rows[4].createCell(0, 1);
thisCell.setCellValue('Value');
thisCell.setCellStyle(boldStyle);
thisCell = rows[4].createCell(1, 1);
thisCell.setCellValue('Team');
thisCell.setCellStyle(boldStyle);
thisCell = rows[4].createCell(2, 1);
thisCell.setCellValue('Manager');
thisCell.setCellStyle(boldStyle);
</cfscript>
<cfset row = 5>
<cfloop query="invoicesDue">
<cfscript>
thisRow = thisSheet.createRow(JavaCast("int", row));
thisCell = thisRow.createCell(0, 1);
thisCell.setCellValue(HTMLEditFormat(invoicesDue.value));
thisCell = thisRow.createCell(1, 1);
thisCell.setCellValue(HTMLEditFormat(invoicesDue.ct_team));
thisCell = thisRow.createCell(2, 1);
thisCell.setCellValue(HTMLEditFormat(invoicesDue.manager));
thisCell = thisRow.createCell(3, 1);
</cfscript>
</cfloop>
<cfscript>
// todo: change to datadir from getAppRoot
outputFileName = "invoicesDue(withfundingsource)" & "_" & RandRange(00000,99999) & ".xlsx";
fos = CreateObject("java", "java.io.FileOutputStream");
fos.init(outputFilename);
workbook.write(fos);
fos.close();
</cfscript>
私がやろうとしているのは、「値」というタイトルの列を Excel のデータ形式「会計」にフォーマットすることです。私は研究をしましたが、私はかなり立ち往生しています。
何か案は?