我是否可以调整Excel列的宽度而不单独设置每个列的宽度?

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

最后我检查了没有logging的CFfunction。 不过,您可以使用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>