5

我正在cfspreadsheet使用 ColdFusion 生成 Excel 电子表格。我插入一个标题行,然后用于spreadsheetAddRows将查询转储到工作表中。问题是列通常不够宽。我知道我可以SpreadsheetSetColumnWidth单独调整每一列,但是有什么方法可以将自动宽度应用于整个工作表?我不知道每列的最大宽度,我不想将它单独应用于每一列。Excel 具有列的自动宽度功能——有什么方法可以从 ColdFusion 代码中触发它?(或者甚至更好:我可以添加到自动宽度 - 将每列设置为最大宽度 + 2 或其他东西吗?)

4

1 回答 1

6

最后我检查了没有记录的 CF 函数。但是,您可以使用 POI 的autoSizeColumn(columnIndex)方法来自动调整每列的大小。请注意 POI 对工作表和列索引使用基数为零。

<cfscript>
    // create a workbook and add a long value
    wb = SpreadSheetNew();
    spreadSheetSetCellValue(wb, repeatString("x", 200), 1, 1);
    // get the first sheet
    sheet = wb.getWorkBook().getSheetAt( javacast("int", 0) );
    // resize first column ie "A"
    sheet.autoSizeColumn( javacast("int", 0) );
    spreadSheetWrite( wb, "c:/test.xls", true ); 
</cfscript>
于 2012-05-15T17:27:30.177 回答