Могу ли я настроить ширину столбцов Excel, не устанавливая их по отдельности?

Я использую cfspreadsheet для создания электронной таблицы Excel с помощью ColdFusion. Я вставляю строку заголовка, а затем использую spreadsheetAddRows для вывода запроса на лист. Проблема в том, что столбцы часто недостаточно широки. Я знаю, что могу использовать SpreadsheetSetColumnWidth для индивидуальной настройки каждого столбца, но есть ли способ, которым я могу просто применить автоматическую ширину ко всему листу? Я не знаю максимальную ширину каждого столбца и не хочу применять ее к каждому столбцу по отдельности. В Excel есть функция автоматической ширины столбцов. Есть ли способ активировать ее из кода ColdFusion? (Или даже лучше: могу ли я добавить к автоматической ширине, чтобы установить для каждого столбца максимальную ширину + 2 или что-то в этом роде?)


person froadie    schedule 15.05.2012    source источник


Ответы (1)


Последнее, что я проверял, не было задокументированной функции CF. Однако вы можете использовать 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>
person Leigh    schedule 15.05.2012