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列。

相关推荐
肖恩部落5 小时前
Excel: xls与xlsx格式转换排坑指南
excel·xlsx·xls
chenchihwen1 天前
大模型应用班-第3课 从Excel到大屏:AI编程实战全解析 HW3 从零到一:香港疫情数据看板开发实战指南
excel·ai编程
33255_40857_280591 天前
使用EasyPOI实现Java订单数据导出(含多物料信息)——模板语法详解与实战
java·excel
我今晚不熬夜1 天前
Excel文件解析
excel
开开心心就好1 天前
PDF转图片工具,一键转换高清无损
服务器·前端·智能手机·r语言·pdf·excel·batch
CodeCraft Studio2 天前
国产化Excel处理组件Spire.XLS教程:使用 Java 将 CSV 转换为 Excel
java·python·excel
宝山哥哥2 天前
python办自动化--利用vba或者python按需求读取excel文件指定列,更改列名后,按照要求将列排序,最后填充空白单元格
python·数据分析·自动化·excel·pandas
修心光2 天前
Excel常用函数大全,非常实用
excel
开开心心就好2 天前
Excel批量加密工具,一键保护多个文件
java·javascript·人工智能·安全·excel·音视频·语音识别
空中湖2 天前
【效率工具】255款工作计划表格Excel电子版模板:总结日月周报日历安排提醒时间管理
程序人生·excel·效率工具