XSSFWorkbook не будет загружать небольшой файл Excel
Я попытался инициализировать XSSFWorkbook с помощью файла Excel с расширением.xlsm, используя Apache POI в Java, но загрузка файла заняла много времени (я уже ждал 1 час, и он все еще загружался). Сам файл xlsm довольно мал (1 МБ), имеет 50 листов (каждый лист имеет одну таблицу, состоящую из 5x20 ячеек) и макрос-скрипт. Код, который я сейчас использую:
String templateFilePath = filePath + fileName + ".xlsm";
XSSFWorkbook newWorkBook = new XSSFWorkbook(templateFilePath);
Обратите внимание, что я пытался загрузить файл, используя:
Workbook newWorkBook = WorkbookFactory.create(new FileInputStream(templateFilePath) );
Files.readAllBytes(Paths.get(templateFilePath));
File file = new File(templateFilePath);
File file = new File(templateFilePath);
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook newWorkBook = new XSSFWorkbook(opcPackage);
... И все же получил те же результаты. Кроме того, я пробовал другие расширения файлов (.xlsx и.xls), но безрезультатно.
Другие примечания: ошибки памяти не отображаются. Он просто бесконечно загружает файл. Я сделал еще один тест, где я удалил несколько листов из файла и оставил только 8. Таким образом, "newWorkBook" была успешно инициализирована. Однако мне нужно прочитать файл со всеми листами, поэтому я хотел бы знать, есть ли другой способ сделать это.