SpringBoot中使用JeecgBoot的Autopoi导出
说到导出 Excel,我们首先会想到 poi、jsxl 等,使用这些工具会显得笨重,学习难度大。今天学习使用 JeecgBoot 中的 Autopoi 导出 Excel,底层基于 easypoi,使用简单,还支持数据字典方式
一、开发前戏
1、引入 maven 依赖
exclusions 是将 commons-codec 从 autopoi 中排除,避免冲突
2、切换 Jeecg 镜像
以下代码放在 pom.xml 文件中的 parent 标签下面
可以看到,这里我们配置了 aliyun 的国内镜像,还配置了 jeecg 的镜像,这样方便我们下载依赖文件
3、导出工具类
我们把导出 Excel 通用方法写在 ExcelUtils.java 文件中
这样我们导出数据的时候,只需要传入文件的标题(标题同样作为表格的标题)、数据类型、数据集合,就可以导出数据了
二、开始导出
1、给实体类加注解
我们将需要导出的实体类或 VO 类中的属性加上注解 @Excel
@Excel(name = “性别”, width = 15)
name:表头
width:列宽度
导出 Excel 时,只会导出加了 @Excel 注解的字段,不然不会导出
2、导出数据
我们传入了文件的标题,类型为 SysUserInfo,传入了数据的集合,这样我们请求这个 API 就能导出数据了
可以看出数据已经成功导出,但是性别、状态这些属性值还属于魔法值,我们需要自己写 SQL 来翻译这些值,或者配合数据字典来翻译这些值
三、配合数据字典导出
上面介绍了数据的简单导出,下面介绍配合数据字典导出数据,如果对数据字典不熟悉的同学,可先看看我的另一篇博客:【SpringBoot】廿四、SpringBoot中实现数据字典
1、@Excel 注解
与上面注解相比,我们需要多加一个属性,dicCode,如下
@Excel(name = “性别”, width = 15, dicCode = “sex”)
name:表头
width:列宽度
dicCode :字典类型
这样,我们就为这个字段注入了一个字典类型,这样就能翻译成文本了
2、配置类
要配合数据字典导出,我们需要配置 autopoi 的配置类 AutoPoiConfig.java
3、翻译规则
我们可以根据自己项目中的字典翻译规则,来重写 autopoi 的字典翻译规则 AutoPoiDictService.java
实现了 AutoPoiDictServiceI 接口,重写 queryDict 方法,这里我只使用了 dicCode 来查询字典列表,这样就能配合数据字典导出了
4、导出数据
导出数据如图所示
可以看出,数据已经成功导出,性别、状态等魔法值已经被翻译成文本,这样,我们的字典翻译是成功的
四、总结
以上介绍了 JeecgBoot 中的 Autopoi 导出 Excel 的方法,还有配合数据字典导出等操作,可以看出,比以往我们使用的 poi、jsxl 使用方便,导出方便,大大提高了我们的工作效率
如您在阅读中发现不足,欢迎留言!!!