Apache POI (Excel) исполнители getSheet () против createSheet () - PullRequest
0 голосов
/ 18 мая 2018

Конструкция действительно проста, у меня есть входной список объектов (скажем, 100 тыс. Записей), и я собираюсь поместить этот список в таблицу Excel.Я заметил, что если я использую createSheet (), заполнение листа займет всего несколько секунд.Если я использую getSheet (например, я использую шаблон для своего отчета), и заполнение отчета занимает несколько минут.Чем это объясняется?

public void populateSheet(List<Objects> input) {
        XSSFSheet rowsSheet = getWorkbook().createSheet("SheetName");
        int l = 1;
        for (Objects row : input) {
             .....
        }

public void populateSheet(List<Objects> input) {
        XSSFSheet rowsSheet = getWorkbook().getSheet("SheetName");
        int l = 1;
        for (Objects row : input) {
             .....
        }

1 Ответ

0 голосов
/ 18 мая 2018

По моему опыту, файлы Excel могут содержать много скрытого содержимого, даже если вы ничего не видите при открытии файла.Я бы просто попытался воссоздать новую версию листа, а также скопировать / вставить заголовок.А затем проверьте скорость вашей программы.

...