Spring导入导出,zouzhiy-excel自定义字典转换

本文介绍了zouzhiy-excel,一个简化Excel导入导出的轻量级工具,其优势在于支持一对多导入、自定义配置和模板导出。在Spring环境下集成该工具,通过自定义CellHandler实现字典值转换,展示了简单的导入导出过程,包括数据对象创建、CellHandler注册和Controller接口实现。
摘要由CSDN通过智能技术生成
日常开发中,难免遇到需要导入导出的业务场景,如果直接通过poi提供的接口,代码编写繁琐不说,而且还容易出错。 今天在这里给大家推荐一款非常好用的 Excel 导入导出工具工具:zouzhiy-excel。希望对大家有所帮助。

zouzhiy-excel 简介

zouzhiy-excel 是一款 Excel 导入导出的轻量级工具。对 POI 的接口做了一层封装,使导入导出更加简便快捷。

zouzhiy-excel 优势

zouzhiy-excel 支持一对多导入,简单的自定义即可实现一条数据写入多行,一个属性对象写入多列的功能。

  1. 默认大于配置,不需要显式的标注注解。反向解析,不需要的字段或者需要自定义配置的字段才需要注解标注
  2. 支持模板导出。可以预先设置好标题,表头,数据行格式。写入的数据自动继承模板的格式
  3. 支持一对多导入导出。一个数据对象占据不固定的多行多列。
  4. 支持拆分写入不同列。如:用户信息作为一个对象,可通过自定义CellHandler,实现多列写入,一列显示姓名,一列显示通信方式等。
  5. 支持自定义单元格格式,基本囊括了poi提供的style属性
  6. 支持自定义标题,表头,表尾写入
  7. 提供回调函数,可在导入导出过程中提供一些回调操作,比如:修改根据配置生成的样式、修改数据等

Spring 环境下集成


<dependency>
    <groupId>io.github.zouzhiy</groupId>
    <artifactId>zouzhiy-excel-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>

开始使用

今天来介绍一下自定义CellHandler实现字典值的转换,自动对性别显示值与存储值直接转换。

  • 首先创建一个数据对象
@Data
@Builder
@ExcelClass
@NoArgsConstructor
@AllArgsConstructor
public class DictDemoVO {
   

    @ExcelField(title = "姓名")
    private String username;

    @ExcelField(title = "手机号码")
    private String tel;

    @ExcelField(title = "年龄")
    private Integer age;

    @ExcelField(title = "出生日期")
    private LocalDate birthDay;

    @ExcelField(title = "分数")
    private BigDecimal score;

    /**
     * 性别
     * <pre>
     *     0 未知性别
     *     1 男性
     *     2 女性
     * </pre>
     */
    @ExcelField( title = "性别", cellHandler = GenderHandler.class)
    private Integer gender;
}

需要在 @ExcelField 注解上显示指定对应的 cellHandler

  • 自定义CellHandler 并注册到 Spring 中

@Component
public class GenderHandler extends AbstractCellHandler<Integer> {
   

    private final static String UNKNOWN_STRING = "未知";
    private final static String MALE_STRING
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值