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

相关推荐
梦幻通灵4 小时前
Excel的TEXT函数实战【持续更新】
excel
陈奕昆8 小时前
n8n实战营Day2课时2:Loop+Merge节点进阶·Excel批量校验实操
人工智能·python·excel·n8n
诸神缄默不语10 小时前
Python 3中的win32com使用教程+示例:从Excel读取数据生成Word格式报告批量发邮件
python·word·excel
_大龄2 天前
前端解析excel
前端·excel
johnny2332 天前
智能电子表格:Airtable、NocoDB、teable、APITable
excel
2501_930707783 天前
如何使用C#代码在Excel 文件中添加工作表
excel
shouchaobao3 天前
免费PDF工具:PDF转Word/Excel/图片+AI总结+合并拆分+OCR识别,多端无广告!
pdf·word·excel
allbs3 天前
spring boot项目excel导出功能封装——4.导入
spring boot·后端·excel
m5655bj3 天前
使用 Python 高效复制 Excel 行、列、单元格
开发语言·python·excel
温轻舟4 天前
Python自动办公工具01-Excel文件编辑器
开发语言·python·编辑器·excel·温轻舟