我可以调整Excel列的宽度而无需单独设置它们吗?

fro*_*die 5 coldfusion excel formatting cfspreadsheet

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

Lei*_*igh 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>
Run Code Online (Sandbox Code Playgroud)