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