有趣生活

当前位置:首页>科技>用poi将excel转换txtPOI读取生成Excel大文件

用poi将excel转换txtPOI读取生成Excel大文件

发布时间:2026-07-21阅读(1)

导读最近在搞一个通用文件处理服务器,需要处理Excel文件,但是有的excel文件大小超过3M,读取文件时直接导致jvm异常:gcoverheadlimitex....

最近在搞一个通用文件处理服务器,需要处理Excel文件,但是有的excel文件大小超过3M,读取文件时直接导致jvm异常:gc overhead limit exceeded。

原来poi读取excel时有两种模式,我们常用的是第一种,通俗点就是空间换时间/时间换空间:

  • 1种直接将整个excel读入内存后再解析userModel
  • 1种边读取边解析,比较省内存event-userModel
首先加大jvm内存参数针对excel大文件读取,采用第二种模式来处理可以有效避免常见内存异常,但是得加上文件大小限制,如果文件特别大,那也会照样内存异常。

常用的工具包有阿里开源的easyExcel,easyPOI等,一两行代码搞定。但是第二种模式有个缺点是:无法读取用户当前打开的sheet(比如一个excel中有一个隐藏sheet,一个可见sheet,第一种模式可以使用getActiveSheetIndex()),只能一个一个读取sheet。

针对excel大量数据写入,借助SXSSFWorkbook,再加上数据分页处理,再加上数据记录条数限制,可以避免内存异常。

使用缓存 临时文件处理

不知有没有高人有更好的解决方案?

TAGS标签:  excel  转换  txtPOI  读取  生成  用poi将excel

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图