Apache POI和EasyExcel介绍

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Apache POI和EasyExcel介绍

使用常用场景


1 将大量的数据导入为excel表格

2 将excel表中的信息录入到数据库(比如习题上传)(也叫批量插入),大大减轻我们人工乃至网站的录入量

开发中经常会涉及到对Excel的处理,如导入Excel,导出Excel到数据库

目前操作excel比较流行的就是Apache POI和阿里巴巴的easyExcel


Apache POI官网: https://poi.apache.org


image.png

Apache给我们提供的POI不仅可以操作excel格式,对于word,ppt,visio都是提供支持的,而且语法大概类似

HSSF是处理普通的excel的

XSSF是处理OOXML格式的excel的

值得注意点是,虽然HSSF和XSSF都可以处理excel,但是还是有差距

比如excel主要有两个版本 03版和07版,其中03版的行数最多只能存65535行,07版的是没有限制的

如果想要操作Word,那么使用HWPF

如果想要操作PPT,那么使用HSLF

如果想要操作Visio,那么使用HDGF

原生的POI使用起来比较麻烦,而且量大的时候会报OOM异常(out of memory的简称,称之为内存溢出),但是现在很多市面上的工具底层也是会使用封装POI的



image.png


easyExcel(阿里巴巴开源工具)  

官网:https://github.com/alibaba/easyexcel

官方文档:https://www.yuque.com/easyexcel/doc/easyexcel

easyExcel是阿里巴巴开源的一个对于excel处理工具(框架)以使用简单,节省内存著称

easyExcel能大大减少内存占用的主要原因是在解析excel中没有将文件数据一次性全部加载到内存中,而是从磁盘上一行一行的读取,逐个解析

由于POI比较原生比较复杂,我们后研发出新的(工具)框架easyExcel,它是阿里巴巴退出的对于POI的后续产品,并且对POI做了升级和优化,不会因为excel数据量过大引起oom异常(内存溢出),使我们用起来更加的方便(读写Excel只需要一行代码!)


image.png


poi和easyExcel的不同

主要在于内存和操作过程

比如我们现在excel表有100W数据

1 poi是先把数据加载到内存,如果我们内存比较小,Java是会直接报OOM内存溢出异常,这时候就会有问题,但是easyExcel它就比较简单只能,就算读写100W行数据,会一行一行的读写,不会直接全部解析

2poi会一次性全部读取和返回execl表格的数据,但是easyExcel不会这样,它没有将文件数据一次性全部加载到内存中,而是从磁盘上一行一行的读取,逐个解析

poi和easyExcel的本质上就是时间和空间的转换,根据我们的需求自行选择即可

image.png

目录
相关文章
|
1月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
35 0
|
3月前
|
easyexcel Java API
Apache POI、EasyPoi、EasyExcel 三种区别,如何选择
Apache POI、EasyPoi、EasyExcel 三种区别,如何选择
637 0
|
4月前
|
easyexcel Java Apache
EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File
EasyExcel导入的时候报错Caused by: java.lang.NoClassDefFoundError: org/apache/poi/poifs/filesystem/File
354 0
|
5月前
|
easyexcel Java API
Apache POI与easyExcel:Excel文件导入导出的技术深度分析
Apache POI与easyExcel:Excel文件导入导出的技术深度分析
|
5月前
|
Java API Apache
Apache POI(Poor Obfuscation Implementation
Apache POI(Poor Obfuscation Implementation
126 0
|
存储 Java BI
探索Apache POI库:强大的Excel和Word文档处理工具
在企业应用和数据处理中,Excel和Word文档是常见的数据交换和存储格式。然而,处理和操作这些文档可能是一项繁琐的任务。Apache POI库作为一款强大的文档处理工具,可以帮助我们更轻松地进行Excel和Word文档的读写、编辑和生成。本文将深入探讨Apache POI库的基本概念、特点,以及如何在实际应用中使用它进行文档处理。
788 0
|
6月前
|
XML 存储 Java
Apache POI 实现用Java操作Excel完成读写操作
Apache POI 实现用Java操作Excel完成读写操作
|
Java Apache
java word转html 报错org/apache/poi/xwpf/usermodel/IRunBody
java word转html 报错org/apache/poi/xwpf/usermodel/IRunBody
263 0
|
XML Java API
Apache POI详解及Word文档读取示例
apache poi资料详解,包括内部jar包依赖关系,及与使用文档的对应关系
1499 0
|
Java API Apache
Apache POI 读写 Excel 教程
Apache POI 读写 Excel 教程
296 0

推荐镜像

更多