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

时间:2017-03-16 23:26:07

标签: java excel apache-poi hssfworkbook

我尝试使用Java中的Apache POI使用扩展名为.xlsm的Excel文件初始化XSSFWorkbook,但是加载文件需要花费大量时间(我已经等了1个小时但仍在加载)。 xlsm文件本身相当小(1MB),有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”。但是,我需要阅读所有表格的文件,所以我想知道是否还有其他方法可以这样做。

0 个答案:

没有答案