Как записать 3 миллиона строк в файл Excel с помощью Apache POI
У меня более 2 миллионов строк для критериев поиска в моей базе данных, которые я должен экспортировать в файл xlsx. Я использую Apache POI SXSSF для достижения этой цели.
Я получаю порцию данных по порциям из БД со 130+ столбцами и записываю их в WorkSheet, создавая несколько листов, каждый лист имеет 400K строк. Но я сталкиваюсь с проблемой, когда она достигает 1.1M данных, мой код не отвечает после этого, а также не выдает никакой ошибки.
У меня есть 2 путаницы, основанные на этой проблеме.
- Можем ли мы обрабатывать более 1 млн данных на одной рабочей книге.
- Может ли Excel обрабатывать более 1 млн. Записей на нескольких листах.
1 ответ
Было бы губительно написать 2 миллиона строк в листе Excel. Если у вас есть требование для записи в какой-либо файл, выберите запись в CSV-файлы, так как это намного легче, чем Excel.
А что касается максимально допустимого числа строк -~65 000 в 2003 году, 1 048 576 в 2007 году +, вы также можете использовать API
SpreadsheetVersion.EXCEL97.getMaxRows() и SpreadsheetVersion.EXCEL2007.getMaxRows()