在java中如何使用poi 将格式不规范的EXCEL文件上传,注意是格式不规范的

在java中如何使用poi 将格式不规范的EXCEL文件上传,注意是格式不规范的,第1张

格式不规范?用poi读取单元格的内容,一般都是先让用户下载模版,这个excel模版是特定的,里面做了数据限制,比如日期的格式、数值的范围,格式不规范的是不允许的。这是第一个工作。

第二个工作是导入时候的验碧指证,比如第一行的第三列是2011年1月1日至2012年1月1日之间的日悔芹配期,格首者式是yyyy-mm-dd,如果格式不对

,程序终止,提示用户X行、Y列数值格式不对。

只有这两个工作都做了才算完整

不知道有没有回答你的问题。还是说你想问具体使用poi读取excel的代码?

Excel2007: 24M , POI :3.10

发现POI在誉虚处理24MExce2007l文件的时候,几乎占用了2G的Heap Space.

由于Excel2007的文件是经过压缩的,其实数唤空据都是存放在shareStringl.xml文件中。

所以24M的文件,经过解压缩后,其实有160M的大小。

问题分析:

经过Debug发现,POI在处理shareString.xml文件的时庆链燃候,Heap内存就一直在飙升.最后导致内存的溢出,只 能加大Heap Space.

问题:说明POI在处理Excel2007的时候占用了很大的内存,那么有没有更好的方法来读取Excel文件呢?

首先先去http://poi.apache.org/faq.html :这个是个常用的问题列表,在

14. I think POI is using too much memory! What can I do?

This one comes up quite a lot, but often the reason isn't what you might initially think. So, the first thing to check is - what's the source of the problem? Your file? Your code? Your environment? Or Apache POI?


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12146597.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存