XSSFWorkbook加载时间很长

我正在使用以下代码:

File file = new File("abc.xlsx");

InputStream st = new FileInputStream(file);

XSSFWorkbook wb = new XSSFWorkbook(st);

xlsx文件本身具有25,000行,每行包含500列的内容。在调试过程中,我看到创建XSSFWorkbook的第三行需要很长时间(1小时!)来完成此语句。

有没有更好的方法来访问原始xlsx文件的值?

回答:

首先,当您有文件时,不要从InputStream加载XSSFWorkbook!使用InputStream需要将所有内容缓冲到内存中,这会占用空间并占用时间。由于您不需要进行缓冲,所以不用!

如果您运行的是最新的夜间POI版本,则非常简单。您的代码变为:

File file = new File("C:\\D\\Data Book.xlsx");

OPCPackage opcPackage = OPCPackage.open(file);

XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);

否则,它非常相似:

File file = new File("C:\\D\\Data Book.xlsx");

OPCPackage opcPackage = OPCPackage.open(file.getAbsolutePath());

XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);

以上是 XSSFWorkbook加载时间很长 的全部内容, 来源链接: utcz.com/qa/435650.html

回到顶部