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