Я хочу прочитать более 600 тыс. Строк из файла excel (.xlsx).
Я использую Apache POI и xlsx-streamer.
<dependency>
<groupId>com.monitorjbl</groupId>
<artifactId>xlsx-streamer</artifactId>
<version>1.2.0</version>
</dependency>
Apache poi версия3.15 потому что xlsx-streamer не поддерживал в вышеприведенных версиях
Я хочу перебирать только определенные столбцы.Я попробовал следующее:
File myFile = new File("testFile.xlsx");
FileInputStream fis = new FileInputStream(myFile);
Workbook workbook = StreamingReader.builder().bufferSize(4096).open(fis);
// Sheet sheet = workbook.getSheetAt(0);
for (Sheet sheet : workbook) {
for (int r = 0; r < sheet.getLastRowNum(); r++) {
Row rr = sheet.getRow(r);
for (int c = 1; c < rr.getLastCellNum(); c++) {
Cell cell = rr.getCell(c);
System.out.println("" + cell.getStringCellValue());
}
}
Я получаю это исключение с несколькими предупреждениями
Exception in thread "main" java.lang.UnsupportedOperationException
at com.monitorjbl.xlsx.impl.StreamingSheet.getRow(StreamingSheet.java:102)
at ReadExcel.main(ReadExcel.java:35)
Строка № 35 равна
Row rr = sheet.getRow(r);