5

私はcfspreadsheetColdFusionを使用してExcelスプレッドシートを生成するために使用しています。ヘッダー行を挿入してから、を使用spreadsheetAddRowsしてクエリをシートにダンプします。問題は、列の幅が十分でないことが多いことです。各列を個別に調整するために使用できることは知っていSpreadsheetSetColumnWidthますが、シート全体に自動幅を適用する方法はありますか?各列の最大幅がわからないので、各列に個別に適用したくありません。Excelには列の自動幅機能があります—ColdFusionコードからそれをトリガーする方法はありますか?(またはさらに良い:自動幅に追加できますか?各列を最大幅+ 2などに設定しますか?)

4

1 に答える 1

6

最後に、文書化された CF 関数がないことを確認しました。ただし、POI のautoSizeColumn(columnIndex)メソッドを使用して、各列のサイズを自動調整できます。POI では、シートと列のインデックスに基数 0 を使用していることに注意してください。

<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 に答える