
优化 java poi 打开大文件速度
对于读取大文件时速度缓慢的情况,以下是采用 java poi 进行优化的两种方法:
方法一:
利用 xlsx-streamer
立即学习“Java免费学习笔记(深入)”;
xlsx-streamer 采用分段缓存方式加载数据,将大文件分段读取到内存中,避免一次性将整个文件加载到对象中,从而有效提升性能。
引入依赖:
<dependency>
<groupid>com.monitorjbl</groupid>
<artifactid>xlsx-streamer</artifactid>
<version>2.1.0</version>
</dependency>示例代码:
public static void readlagerexcel(file file) throws exception {
inputstream inputstream = new fileinputstream(file);
try (workbook workbook = streamingreader.builder()
.rowcachesize(10 * 10)
.buffersize(1024 * 4)
.open(inputstream)) {
// ...
}
}方法二:
采用 easyexcel
easyexcel 是基于 poi 封装优化的大数据量 excel 读写库,可以快速实现 excel 的读写,而且不会出现内存溢出问题。
引入依赖:
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>easyexcel</artifactid>
<version>3.1.0</version>
</dependency>示例代码:
封装对象读取:
public static void readexcelbyeasyexcel(file file) {
list<exceldata> exceldatalist = easyexcel.read(file)
.head(exceldata.class)
.sheet(0)
.doreadsync();
// ...
}不封装对象读取:
public static void readExcelByEasyExcel1(File file) {
List<Map<Integer, String>> listMap = EasyExcel.read(file)
.sheet(0)
.doReadSync();
// ...
}以上就是如何优化Java POI读取大Excel文件的速度?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号