Я настроил его для переноса результатов, превышающих 1 миллион, на несколько листов (из-за ограничений Excel). Каждый лист получает свою собственную функцию RowGeneratorFunction с диапазоном строк solr для выборки и возврата (например: начать с 0, получить следующие 50 тысяч).
Что касается производительности, я теперь добавляем нумерацию страниц с помощью курсора solr. Это означает, что курсор одного запроса зависит от того, что вернул предыдущий запрос.
Проблема, с которой я столкнулся:
Apache POI НЕ выполняет заданную RowGeneratorFunction.generateRows() в порядке создания листов.
Из Apache SXSSFWorkbook:
Код: Выделить всё
protected void injectData(ZipEntrySource zipEntrySource, OutputStream out) throws IOException {
ArchiveOutputStream zos = createArchiveOutputStream(out);
try {
Enumeration
Подробнее здесь: [url]https://stackoverflow.com/questions/78699341/apache-poi-excel-sheet-generation-happens-out-of-order[/url]