gpt4 book ai didi

Excel 单元格格式 - XSSF 工作簿

转载 作者:行者123 更新时间:2023-12-02 11:21:39 32 4
gpt4 key购买 nike

这是我到目前为止的代码,它从查询中获取数据,然后将其导出到 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 中的数据格式“会计”。我已经做了研究,但我很困惑。

有什么想法吗?

最佳答案

我要做的是在 Excel 中创建一个文件。将“会计”格式应用到单元格之一。然后检查单元格的style/dataFormat在兴趣点:

    dataFormatIndex = theAccountingCell.getCellStyle().getDataFormat();

在我的测试中,POI 报告“Accounting”格式为BuiltInFormat 44。您可以像这样应用它:

    accountingStyle = workbook.createCellStyle();
accountingStyle.setDataFormat( javacast("int", 44) ) ;

someRow = someSheet.createRow(0);
someCell = someRow.createCell(0);
someCell.setCellStyle( accountingStyle );
someCell.setCellValue( javacast("double", 123.75) );

查看所有BuiltInFormat值:

 formats = createObject("java", "org.apache.poi.ss.usermodel.BuiltinFormats");
writeDump(formats.getAll());

关于Excel 单元格格式 - XSSF 工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14278198/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com