tft每日頭條

 > 科技

 > 用poi将excel轉換txt

用poi将excel轉換txt

科技 更新时间:2024-07-22 18:21:58

最近在搞一個通用文件處理服務器,需要處理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,再加上數據分頁處理,再加上數據記錄條數限制,可以避免内存異常。

用poi将excel轉換txt(POI讀取生成Excel大文件)1

使用緩存 臨時文件處理

不知有沒有高人有更好的解決方案?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved