2012-05-15 70 views
4

我正在使用cfspreadsheet使用ColdFusion生成Excel電子表格。我插入一個標題行,然後使用spreadsheetAddRows將查詢轉儲到工作表中。問題在於列通常不夠寬。我知道我可以使用SpreadsheetSetColumnWidth單獨調整每列,但是有什麼方法可以將自動寬度應用於整個表格?我不知道每列的最大寬度,我不想單獨應用到每列。 Excel有列自動寬度功能—有什麼辦法從ColdFusion代碼中觸發它? (或者甚至更好:我可以添加到自動寬度—設置每列到最大寬度+2或什麼?)我可以調整Excel列的寬度而不單獨設置它們嗎?

回答

4

最後我檢查了沒有記錄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> 
相關問題