【亲测免费】 easyexcel-plus-spring-boot-starter 使用教程
2026-01-21 05:00:48作者:滕妙奇
1. 项目介绍
easyexcel-plus-spring-boot-starter 是一个基于 easyexcel 的扩展项目,旨在简化 easyexcel 的使用,并提供一些额外的功能,如自定义合并单元格、字典值映射等。该项目使得通过简单的注解即可实现 Excel 文件的导出和导入。
2. 项目快速启动
2.1 添加依赖
首先,需要在你的项目中添加 easyexcel-plus-spring-boot-starter 的依赖。由于我无法访问网络,请参考项目主页上的说明获取最新版本的依赖配置。
2.2 创建模板对象
定义一个 Java 类作为模板对象,并使用 @ExcelProperty 注解标记需要导出的字段。
@ExcelIgnoreUnannotated // 忽略没有标注 @ExcelProperty 的字段导出
public class FamilyMemberDTO {
@ExcelProperty("户主")
private String hzmc;
@ExcelProperty("成员姓名")
private String cyxm;
@ExcelProperty("证件号码")
private String cyzjhm;
@ExcelProperty("家庭关系")
private String yhzgx;
@ExcelProperty("电话")
private String lxdh;
@ExcelProperty("时间")
private LocalDateTime time;
@ExcelProperty("时间2")
private Date date;
}
2.3 创建 Controller
创建一个 Controller 类,并在需要导出 Excel 的方法上使用 @ResponseExcel 注解。
@GetMapping("/export")
@ResponseExcel(name = "测试", sheetName = "测试sheet")
public List<FamilyMemberDTO> exportTest() {
List<FamilyMemberDTO> dtoList = getData();
return dtoList;
}
2.4 运行和测试
启动你的 Spring Boot 应用,并访问 /export 路径,即可生成并下载名为 "测试.xlsx" 的 Excel 文件。
3. 应用案例和最佳实践
3.1 字典值映射
若需要将字段值映射为字典描述,可以创建一个枚举类实现 ExcelEnum 接口,并提供 getByCode 方法。
@AllArgsConstructor
@Getter
public enum SexEnum implements ExcelEnum<Integer> {
MAN(1, "男"),
WOMAN(2, "女");
private Integer code;
private String desc;
@Override
public String getByCode(Integer code) {
for (SexEnum value : SexEnum.values()) {
if (value.getCode().equals(code)) {
return value.getDesc();
}
}
return code.toString();
}
}
然后在模板对象中,为需要映射的字段添加 @ExcelEnumValue 注解。
@ExcelProperty(value = "成员性别", converter = ExcelEnumValueConverter.class)
@ExcelEnumValue(SexEnum.class)
private Integer cyxb;
3.2 合并单元格
若需要合并单元格,可以在 @ExcelProperty 注解中指定合并的列,并使用 @ExcelMergeColumn 注解标记分组字段。
@ExcelProperty(value = ["自定义合并", "户主", "户主"])
@ExcelMergeColumn
private String hzmc;
然后在 Controller 中,设置 @ResponseExcel 注解的 isMerge 属性为 true,并指定合并的列。
@GetMapping("/export/merge")
@ResponseExcel(name = "测试", sheetName = "测试sheet", isMerge = true, mergeColumn = [0], headNumber = 3)
public List<FamilyMemberMergeDTO> exportMergeTest() {
List<FamilyMemberMergeDTO> dtoList = getMergeData();
return dtoList;
}
4. 典型生态项目
由于我无法访问网络,无法获取 easyexcel-plus-spring-boot-starter 的典型生态项目信息。请参考项目主页上的相关链接获取更多信息。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0191
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0118
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
fun-rec推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/Python03
so-large-lm大模型基础: 一文了解大模型基础知识01
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
765
4.97 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
857
1.93 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
680
1.33 K
Ascend Extension for PyTorch
Python
719
879
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
456
438
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.08 K
1.1 K
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
151
252
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
303
118
昇腾LLM分布式训练框架
Python
178
220