SXSSF вызывает попытку записи строки [23237] в диапазоне [0,23272], которая уже записана на диск
Я создаю таблицу Excel из более чем 1 строки Lakh, я использовал SXSSF, так как я обрабатываю огромные данные
SXSSFWorkbook workbook = new SXSSFWorkbook( 10000 );
сохраняя 10000 строк в кеше.
Но я получаю
java.lang.IllegalArgumentException: Attempting to write a row[23237] in the range [0,23272] that is already written to disk.
at org.apache.poi.xssf.streaming.SXSSFSheet.createRow(SXSSFSheet.java:111)
Я попытался увеличить строки кэша до 50000, как
SXSSFWorkbook workbook = new SXSSFWorkbook( 50000 );
Но все равно получаю такое же исключение.
В дополнение к этому я попробовал другой способ очистки строк вручную, как,
SXSSFWorkbook workbook = new SXSSFWorkbook( -1 ); // which will store unlimeted rows in cache
sheet.flushRows();
даже это вызывало подобное исключение!!!
java.lang.IllegalArgumentException: Attempting to write a row[22708] in the range [0,22719] that is already written to disk.
Не уверен, что не так с 23237- й строкой, где происходит это исключение! Несмотря на то, что количество строк в кэше превышает 50000.
Пожалуйста, помогите мне...