Это код, который у меня есть для чтения очень большого файла Excel (xlsx), размером 23,5 МБ и 700 000+ строк.
String dir = rootPath + File.separator + "tmpFiles" + File.separator
+ FILE_NAME;
File fisNew = new File(dir);
Workbook w = StreamingReader.builder()
.rowCacheSize(100)
.open(fisNew);
Sheet worksheet = null;
worksheet = w.getSheetAt(0);
worksheet.getRow(0).getPhysicalNumberOfCells();
Я получаю UnsupportedOperationException
Ошибка нулевого указателя в этой строке:
worksheet.getRow(0).getPhysicalNumberOfCells();
И я также не получаю фактическое значение String при печати этой строки: SpecialtyUtil.removeWhiteSpaces(excelheader.getCell(0))
. Я должен получить имя столбца, но вместо этого я получаю строку StreamingSheet
. Не уверен, что мне нужно изменить здесь для обработки файла xlsx.
РЕДАКТИРОВАТЬ: Есть идеи, как записать в файл Excel с помощью StreamingReader? Я знаю, что это неподдерживаемая операция, но есть ли обходной путь?