XSSFWorkbook不会加载一个小的Excel文件

我尝试用Java中的Apache POI以.xlsm扩展名的Excel文件初始化XSSFWorkbook,但是加载文件需要花费很多时间(我已经等了1个小时,而且还在加载)。 xlsm文件本身是相当小的(1MB),有50张(每个表有一个由5×20单元格构成的表)和一个macros脚本。 我目前使用的代码是:

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)无济于事。

其他注意事项:不显示内存错误。 它只是无限地加载文件。 我做了另一个testing,从文件中删除了一些表格,只留下了8个。这样“newWorkBook”成功初始化了。 但是,我需要阅读所有表单的文件,所以我想知道是否有另一种方式来这样做。