java解析excel,poi和easyExcel

做项目遇到上传excel并解析excel内容组装成结构话json,网上查了很多方法,做了poi和easyExcel两个方法的对比
摘要由CSDN通过智能技术生成

做项目遇到上传excel并解析excel内容组装成结构话json,网上查了很多方法,做了poi和easyExcel两个方法的对比

两者都可以解析excel文件,但是两个也有不同:

一、poi

官方说明:https://poi.apache.org/components/index.html

A、03版excel和07版excel:
1)03版excel最多65536行,最大列数是256列,07版excel没有限制;
2)文件后缀不同,一个xls,另一个是xlsx。
3)poi引入依赖不同
B、写

(1)03版excel和07版excel生成的性能对比
程序执行前时间戳作为begin,程序执行后时间戳作为end,然后后者减前者除以1000并且double强转获得秒级时间。 最后可以看到后者的效率比前者低,但后者没有最多65536行限制。
(2)为了让XSSFWorkbook效率提升,用了Workbook第三个实现类SXSSFWorkbook。
这个实现原理其实就是兼顾前面两者的优点,默认把100条记录保存到内存中,然后写入临时excel文件,即一种流式计算,但需要注意的是一定要在程序结束的时候清除临时文件。
C、读

3.8版本的POI对excel的导出操作,一般只使用HSSFWorkbook以及 SXSSFWorkbook, HSSFWorkbook用来处理较少的数据量, SXSSFWorkbook用来处理大数据量以及超大数据量的导出,只是 SXSSFWorkbook只支持.xlsx格式,不支持.xls格式。

poi易造成内存溢出

我们通过分析其源码,得出其实现步骤为通过InputStream一行行读取到TreeMap类型的HSSFRow结构体中,因此当数据量大时就会造成内存溢出。poi会将内容全部加载到内存

poi的使用:

1、引入jar包

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>po
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值