Read-Easy Excel源码解析(一)

Read&Write-Easy Excel

当我们需要导入大Excel时候,用POI会内存溢出,这时候我们用EasyExcel来解决,它底层采用的是SAX(Simple Api for Xml)事件驱动,解析xml的方式来解析excel文件。

首先我们看他的read源码,通过Easy Excel工厂创建ExcelReaderBuilder

ExcelReaderBuilder构造方法里创建了ReadWorkbook

Head则是我们放接收实体的数据。

readLister在1.8后可以直接用PageReadListener

我们来看看pageReadListener

里面有个final修饰的consumer,这个有accept方法,batch_count=100,当读取的值太多,超过100的时候,则会直接消费,防止所有数据都读取到内存里,导致内存溢出。

后面doRead()里用excel分析器来分析excel的sheet

分析之后,则开始调用executor方法,执行xlsx来分析我们的excel。

excel写入则和读取前面的都类似,创建WriteWorkbook,之后运行doWrite(),这里在配合注解写入指定excel列。

相关推荐
Codiggerworld2 小时前
Vim配置从0到1:打造专属编辑器
编辑器·vim·excel
E_ICEBLUE3 小时前
Python 教程:快速复制 Excel 工作表
python·excel
SunnyDays10116 小时前
用Java打造交互式Excel仪表板:切片器的实战应用
java·excel
SunnyDays10117 小时前
Java 实现插入和删除 Excel 行和列
java·python·excel
Cloud_Shy6188 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(附录 C 高级 Python 概念)
python·数据分析·excel
开开心心_Every9 小时前
支持自定义名单的实用随机抽签工具
运维·服务器·pdf·电脑·excel·启发式算法·宽度优先
Cloud_Shy6181 天前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十二章 用户定义函数 上篇)
python·数据分析·excel·pandas
QuZhengRong1 天前
【Luck-Report】缓存
java·前端·后端·vue·excel
程序员老油条1 天前
Excel合并的单元格拆分并批量填充为已有数据
excel
QQ12958455041 天前
FERP50 - Excel以存储过程方式访问数据仓库
数据仓库·spark·excel