
easyexcel 导出 代码翻译converter_【starter推荐】简单高效Excel 导出工具
发布日期:2025-03-29 02:05:36
浏览次数:8
分类:精选文章
本文共 3030 字,大约阅读时间需要 10 分钟。
EasyExcel:Java पढ़ كثير Excel处理库,看看它是怎么霸พکنندگان
EasyExcel 是个性价比极高的基于 Java 的 Excel 处理库,旨在在尽可能节省内存的前提下,支持读写百万级别的 Excel 文件. 即使是在 64MB 内存下,它也能在一分钟内读取 75MB(约 46W 行 25 列)的 Excel 文件。如果你想用更快的模式还能,那内存占用会稍微增加,可能会达到 100MB 左右
.
Spring Boot Starter 依赖
EasyExcel 已经提供了 Spring Boot Starter 依赖包,使开发者在 Web 环境下使用更方便. 它已经上传到 Maven 仓库,可以直接使用:
com.pig4cloud.excel excel-spring-boot-starter 0.0.1
使用方法
在使用 EasyExcel 的时候,只需要在Controller 层的方法返回 List 并加上 @ResponseExcel
注解即可。
@ResponseExcel(name = "lengleng", sheet = "demoList")@GetMapping("/e1")public Liste1() { List dataList = new ArrayList<>(100); for (int i = 0; i < 100; i++) { DemoData data = new DemoData(); data.setUsername("tr1" + i); data.setPassword("tr2" + i); dataList.add(data); } return dataList;}
DemoData
实体类如下:
@Datapublic class DemoData { @ColumnWidth(50) // 定义宽度 @ExcelProperty("用户名") // 定义列名称 private String username; @ExcelProperty("密码") private String password;}
核心功能
返回单 sheet 并全部字段导出
返回一个单 sheet 的 List 即可,EasyExcel 会自动把所有字段导出成对应的 Excel 列。
@ResponseExcel(name = "lengleng", sheet = "demoList")@GetMapping("/e1")public Liste1() { List dataList = new ArrayList<>(100); for (int i = 0; i < 100; i++) { DemoData data = new DemoData(); data.setUsername("tr1" + i); data.setPassword("tr2" + i); dataList.add(data); } return dataList;}
忽略部分字段
如果想忽略某些字段,只需要不在这些字段上使用 @ExcelProperty
annotation。
@Datapublic class DemoData { @ExcelProperty("用户名") private String username; @ExcelProperty("密码") private String password;}
自定义字段属性
通过独特的 ExcelProperty
和 ColumnWidth
annotation,可以自定义字段的属性。
@Datapublic class DemoData { @ColumnWidth(50) @ExcelProperty("用户名") private String username; @ContentStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 40) private String username;}
导出多 sheet
如果需要导出多个 sheet,只需要在 @ResponseExcel
上定义多个 sheetName。
@ResponseExcel(name = "lengleng", sheet = { "第一个sheet", "第二个sheet" })@GetMapping("/e1")public List
> e1() { List
> lists = new ArrayList<>(2); lists.add(list()); lists.add(list()); return lists;}
设置 导出加密码
如果需要对 Excel 导出时设置加密码,直接在 @ResponseExcel
上加上 password 属性即可。
@ResponseExcel(name = "lengleng", sheet = "sheetName", password = "lengleng")@GetMapping("/e1")public Liste1() { List lists = new ArrayList<>(100); for (int i = 0; i < 100; i++) { DemoData data = new DemoData(); data.setUsername("tr1" + i); data.setPassword("tr2" + i); lists.add(data); } return lists;}
高级用法 模板导出
如果项目需要使用模板导出,可以直接指定模板路径。
@ResponseExcel(name = "模板测试excel", sheet = "sheetName", template = "example.xlsx")@GetMapping("/e1")public Liste1() { return list();}
其他用法
- 理论上支持 Alibaba/EasyExcel v2.1.6 大部分配置
- 支持 Alibaba/EasyExcel 原生配置注解
- 导出支持 CSV, Excel, PDF 等格式-Github starter 地址,欢迎 fork 和修改
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月18日 08时46分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07
Explore Optimization
2019-03-07
map[]和map.at()取值之间的区别
2019-03-08
【SQLI-Lab】靶场搭建
2019-03-08
Struts2-从值栈获取list集合数据(三种方式)
2019-03-08
推荐几篇近期必看的视觉综述,含GAN、Transformer、人脸超分辨、遥感等
2019-03-09
VTK:可视化之RandomProbe
2019-03-09
block多队列分析 - 2. block多队列的初始化
2019-03-09
Java时间
2019-03-09
不编译只打包system或者vendor image命令
2019-03-09
【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
2019-03-09
flink启动(二)
2019-03-09
pair的用法
2019-03-09