SuperAPI AI 工具集

easyexcel-patterns

办公与效率

查看项目

更新于 10-16 05:47

技能介绍

用途:面向 Java 场景使用 EasyExcel 完成 Excel 读取与写入,重点解决大文件流式读取、百万级数据导出、模板填充与 Web 下载等需求。

主要能力:读取支持监听器模式(大文件/流式)与同步模式(小文件,小于 1000 行用 doReadSync);写入支持分页分批写入、模板填充、动态表头、自定义样式与多次写入;支持百万级优化(分批写入、flush 策略、分 Sheet);模板填充用于复杂格式报表;Web 导出可直接写 OutputStream,不落临时文件。

使用方式:小文件用 EasyExcel.read(file).head(UserDTO.class).sheet().doReadSync();大文件继承 AnalysisEventListener,每 2000 行批量处理并清空集合;导出用 ExcelWriter 分页查询后逐批 write,最后 finish;模板填充用 withTemplate 与 doFill,配合 FillConfig;实体用 @ExcelProperty、@ContentStyle、@DateTimeFormat、@ExcelIgnore 等注解映射。

适用场景:Excel 导入导出、报表生成、Web 下载、超大数据量异步导出。

限制与注意:复杂 Word/PPT 用 Apache POI,CSV 用 commons-csv 或 OpenCSV;大文件必须用监听器模式避免 OOM;监听器不能复用单例,每次读取需 new;inMemory(true) 只在导出模板时使用,填充数据时绝不能用;finally 中必须执行 excelWriter.finish();单 Sheet 上限约 104 万行,超限需分 Sheet 或改用 CSV;实体字段建议用包装类型。本技能不收集、存储或传输任何用户数据。