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
    评论
Java可以使用EasyExcel组件来导出数据到Excel表格。EasyExcel是阿里巴巴开源的一个优秀的Java解析和生成Excel的框架。相对于其他框架如Apache POI和JXL,EasyExcel具有更低的内存消耗,能够处理大型Excel文件而不会导致内存溢出的问题。EasyExcel提供了简单易用的API,使得导出Excel变得简单方便。你可以通过访问EasyExcel的官方网站(https://easyexcel.opensource.alibaba.com)或者GitHub地址(https://github.com/alibaba/easyexcel)来了解更多关于EasyExcel的详细信息和使用方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Java使用easyexcel导出数据导Excel表格](https://blog.csdn.net/weixin_45536587/article/details/124751757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Java导出Excel文件合集(easyExcel)](https://blog.csdn.net/weixin_42555014/article/details/131853805)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值