Как ускорить автоматизацию столбцов в POI apache?
Я использую следующий код, чтобы авторизовать столбцы в моей таблице:
for (int i = 0; i < columns.size(); i++) {
sheet.autoSizeColumn(i, true);
sheet.setColumnWidth(i, sheet.getColumnWidth(i) + 600);
}
Проблема заключается в том, что для автоматического сортировки каждого столбца при больших таблицах с более чем 3000 строк требуется более 10 минут. Однако он идет очень быстро для небольших документов. Есть ли что-нибудь, что могло бы помочь автоматизировать работу быстрее?
Ответы
Ответ 1
Решение, которое сработало для меня:
Можно было избежать объединенных областей, чтобы я мог перебирать другие ячейки и, наконец, автоматически сортировать в самую большую ячейку, например:
int width = ((int)(maxNumCharacters * 1.14388)) * 256;
sheet.setColumnWidth(i, width);
где 1.14388 - максимальная ширина символа шрифта "Serif" и 256 единиц шрифта.
Эффективность автосохранения улучшилась с 10 минут до 6 секунд.