Apache POI和EasyExcel介绍

简介: 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

目录
相关文章
|
8月前
|
存储 Java BI
探索Apache POI库:强大的Excel和Word文档处理工具
在企业应用和数据处理中,Excel和Word文档是常见的数据交换和存储格式。然而,处理和操作这些文档可能是一项繁琐的任务。Apache POI库作为一款强大的文档处理工具,可以帮助我们更轻松地进行Excel和Word文档的读写、编辑和生成。本文将深入探讨Apache POI库的基本概念、特点,以及如何在实际应用中使用它进行文档处理。
406 0
|
4月前
|
XML 存储 Java
Apache POI 实现用Java操作Excel完成读写操作
Apache POI 实现用Java操作Excel完成读写操作
|
7月前
|
XML Java API
Apache POI详解及Word文档读取示例
apache poi资料详解,包括内部jar包依赖关系,及与使用文档的对应关系
797 0
|
8月前
|
Java API Apache
Apache POI 读写 Excel 教程
Apache POI 读写 Excel 教程
209 0
|
10月前
|
人工智能 前端开发 Java
Springboot使用Apache POI实现导入导出和解析Excel
Springboot使用Apache POI实现导入导出和解析Excel
|
11月前
|
XML 存储 Java
Apache POI 实现用Java操作Excel完成读写操作
Apache POI是一个用于操作Microsoft Office格式文件(包括xls、docx、xlsx、pptx等)的Java API库。POI全称为Poor Obfuscation Implementation,是Apache Software Foundation的一个开源项目。它提供了一组Java API,使得Java程序可以读取、写入和操作Microsoft Office格式文件。
|
Apache
Apache POI实例
Apache POI实例
216 0
|
Java API Apache
Apache POI简述
Apache POI简述
893 1
|
Apache 数据库
使用Apache POI 实现导出数据到Excel 并下载到本地
使用Apache POI 实现导出数据到Excel 并下载到本地
394 0
|
Java Apache API
Java Apache POI 操作 Excel 导出
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82655653 ...
4527 0

热门文章

最新文章

推荐镜像

更多