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

相关推荐
pengone4 小时前
PHP8.0版本导出excel失败
php·excel
saadiya~6 小时前
Vue 3 实现后端 Excel 文件流导出功能(Blob 下载详解)
前端·vue.js·excel
小芳矶9 小时前
【全网首发】解决coze工作流批量上传excel数据文档数据重复的问题
数据库·oracle·excel
課代表10 小时前
Office 中 VBE 的共同特点与区别
word·excel·vba·office·vbe
扶尔魔ocy13 小时前
QT使用QXlsx读取excel表格中的图片
c++·excel
微刻时光16 小时前
影刀处理 Excel:智能工具带来的高效变革
人工智能·python·低代码·自动化·excel·rpa·影刀rpa
Ciito16 小时前
将 Element UI 表格元素导出为 Excel 文件(处理了多级表头和固定列导出的问题)
前端·vue.js·elementui·excel
Eiceblue16 小时前
Python 在Excel单元格中应用多种字体样式
开发语言·vscode·python·pycharm·excel
听忆.1 天前
前端上传获取excel文件后,如何读取excel文件的内容
excel
2301_786964361 天前
EXCEL Python 实现绘制柱状线型组合图和树状图(包含数据透视表)
python·microsoft·excel