easyExcel自定定义类型转换

简介: easyExcel自定定义类型转换

一、使用场景

业务定义类里边,定义变量isIncludeThesis表示是否包含论文,1是,0否。导出的时候需要  1->是,0->否, 导入时需要是->1,否->0。

//是否包含论文
private Integer isIncludeThesis;

二、如何定义

泛型为类的属性的类型

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
 
import java.util.Objects;
 
public class IsConverter implements Converter<Integer> {
    //写入数据时,将excel单元格数据转化为java
    @Override
    public Integer convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        String data = (String)cellData.getData();
        if (data!=null) {
            if (Objects.equals(data,"是")) {
                return 1;
            }else if(Objects.equals(data,"否")){
                return 0;
            }
        }
        return null;
    }
    //导出数据到excel
    @Override
    public CellData convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        return new CellData(value==1?"是":"否");
    }
 
    @Override
    public Class<?> supportJavaTypeKey() {
        return String.class;
    }
 
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return CellDataTypeEnum.STRING;
    }
}

三、如何使用

 @ExcelProperty(value = "是否包含论文", converter = IsConverter.class)
    private Integer isIncludeThesis;
相关文章
|
7月前
SpringMVC-5种类型参数传递
SpringMVC-5种类型参数传递
59 0
|
XML Java 数据库连接
Mybatis引用静态常量或者枚举类型
Mybatis引用静态常量或者枚举类型
363 0
|
6月前
Mapstruct自定义转换规则
Mapstruct自定义转换规则
214 1
|
6月前
SpringMVC自定义类型转换器并开启
SpringMVC自定义类型转换器并开启
|
安全 Java Maven
使用MapStruct简化Java对象映射
在软件开发中,经常需要将一个Java对象的数据映射到另一个对象,特别是在使用DTO(Data Transfer Object)模式时。手动编写这些映射代码非常繁琐,而MapStruct可以帮助我们自动生成这些映射代码,从而提高开发效率和代码质量。
282 2
|
JSON 前端开发 Java
springboot中自定义JavaBean返回的json对象属性名称大写变小写问题
springboot中自定义JavaBean返回的json对象属性名称大写变小写问题
225 0
|
Java Spring
springmvc自定义类型转换器解决Date类型转换
springmvc自定义类型转换器解决Date类型转换
SpringBoot——Thymeleaf中的表达式基本对象、表达式功能对象
SpringBoot——Thymeleaf中的表达式基本对象、表达式功能对象
SpringBoot——Thymeleaf中的表达式基本对象、表达式功能对象
|
Java Spring
SpringMVC中自定义(日期)类型转换器
SpringMVC中自定义(日期)类型转换器
SpringMVC中自定义(日期)类型转换器
|
XML SQL Java
Mybatis接口参数与xml占位符的几种映射关系介绍
在 mybatis 的日常开发中,mapper 接口中定义的参数如何与 xml 中的参数进行映射呢?除了我们常用的@Param注解之外,其他的方式是怎样的呢?
367 0
Mybatis接口参数与xml占位符的几种映射关系介绍