Подтвердить что ты не робот

Как ускорить автоматизацию столбцов в POI apache?

Я использую следующий код, чтобы авторизовать столбцы в моей таблице:

for (int i = 0; i < columns.size(); i++) {
   sheet.autoSizeColumn(i, true);
   sheet.setColumnWidth(i, sheet.getColumnWidth(i) + 600);
}

Проблема заключается в том, что для автоматического сортировки каждого столбца при больших таблицах с более чем 3000 строк требуется более 10 минут. Однако он идет очень быстро для небольших документов. Есть ли что-нибудь, что могло бы помочь автоматизировать работу быстрее?

4b9b3361

Ответ 1

Решение, которое сработало для меня:

Можно было избежать объединенных областей, чтобы я мог перебирать другие ячейки и, наконец, автоматически сортировать в самую большую ячейку, например:

int width = ((int)(maxNumCharacters * 1.14388)) * 256;
sheet.setColumnWidth(i, width);

где 1.14388 - максимальная ширина символа шрифта "Serif" и 256 единиц шрифта.

Эффективность автосохранения улучшилась с 10 минут до 6 секунд.