Мне нужно конвертировать файл Excel в Workbook
(apache poi).
Я получаю InputStream
:
InputStream in = getInputStream(); // from user file.xls
if(in != null){
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(in); //exception
}
но затем я получаю исключение:
org.apache.poi.poifs.filesystem.NotOLE2FileException: неверный заголовок
подпись; прочитайте 0x0005060000100809, ожидаемый 0xE11AB1A1E011CFD0 - Ваш
файл не является действительным документом OLE2
InputStream, который я получаю из файла, был построен Apachi Poi
И вопрос NotOLE2FileException: неверная подпись заголовка; читать 0x0000000000000000, ожидаемый 0xE11AB1A1E011CFD0 у меня не работает
Я использую Vaadin Framework.
MultiFileMemoryBuffer buffer = new MultiFileMemoryBuffer();
Upload upload = new Upload(buffer);
upload.setAcceptedFileTypes("application/vnd.ms-excel");
upload.setMaxFiles(1);
upload.setSizeFull();
upload.addSucceededListener((event) -> {
name = event.getFileName();
try (InputStream inputStream = buffer.getInputStream(name) // getInputStream
) {
Workbook workbook = WorkbookFactory.create(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
});
}