Ответ 1
Вам нужно убедиться, что каждая ячейка имеет значение.
Мы используем следующий код для установки строкового значения в ячейке:
Cell c = row.createCell(i);
c.setCellValue(text == null ? "" : text );
Можно ли автосогласовывать столбцы в потоковой SXSSFWorkbook? Я реализовал функцию экспорта, чтобы экспортировать список объектов в excel. Сначала я использовал XSSFWorkbook (не потоковая передача), и после того, как все ячейки были созданы, я авторизовал все столбцы, в результате получился хороший файл excel.
Для проблем с производительностью мы хотели сменить книгу на поточную версию, но это привело к созданию NullPointer в org.apache.poi.ss.util.SheetUtil.getCellWidth.
Можно ли вызвать autoSizeColumns для SXSSFWorkbook?
Im использует poi-ooxml 3.9, но у меня такая же проблема в 3.8.
Вам нужно убедиться, что каждая ячейка имеет значение.
Мы используем следующий код для установки строкового значения в ячейке:
Cell c = row.createCell(i);
c.setCellValue(text == null ? "" : text );
Используйте sheet.isColumnTrackedForAutoSizing(0); для первого и последующего использования для другого столбца, я столкнулся с исключением всякий раз, когда выполняется код autoSizeColumn (0). Используя приведенный выше код, я решил проблему, и было бы хорошо расширить ширину столбца на основе текста.