Lon*_*guy 8 java excel optimization apache-poi xssf
我使用以下代码:
File file = new File("abc.xlsx");
InputStream st = new FileInputStream(file);
XSSFWorkbook wb = new XSSFWorkbook(st);
Run Code Online (Sandbox Code Playgroud)
xlsx文件本身有25,000行,每行包含500列内容.在调试过程中,我看到我创建XSSFWorkbook的第三行,需要花费大量时间(1小时!)才能完成此语句.
有没有更好的方法来访问原始xlsx文件的值?
Gag*_*arr 19
首先,当你有一个文件时,不要从InputStream加载XSSFWorkbook!使用InputStream需要将所有内容缓冲到内存中,这会占用空间并占用时间.既然你不需要做那个缓冲,不要!
如果您使用最新的每晚POI版本运行,那么它非常简单.您的代码变为:
File file = new File("C:\\D\\Data Book.xlsx");
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);
Run Code Online (Sandbox Code Playgroud)
否则,它非常相似:
File file = new File("C:\\D\\Data Book.xlsx");
OPCPackage opcPackage = OPCPackage.open(file.getAbsolutePath());
XSSFWorkbook workbook = new XSSFWorkbook(opcPackage);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22861 次 |
| 最近记录: |