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;
相关文章
|
XML Java 数据库连接
Mybatis引用静态常量或者枚举类型
Mybatis引用静态常量或者枚举类型
343 0
swagger3.0中,如何在@GetMapping中写多个参数,包括数组类型的参数
swagger3.0中,如何在@GetMapping中写多个参数,包括数组类型的参数
401 0
|
fastjson 前端开发
巧用fastjson自定义序列化类实现字段的转换
项目中突然需要增加另一个字段的查找,而这个查找需要查另一张表的记录。 但现在产品很多地方都要增加该字段,如何最快的实现该功能呢。 办法如下: 通过fastjson序列化时,增加该字段的序列化类,该序列化类通过CODE查找名称,并序列化到前端。
5805 0
|
5月前
Mapstruct自定义转换规则
Mapstruct自定义转换规则
188 1
|
5月前
SpringMVC自定义类型转换器并开启
SpringMVC自定义类型转换器并开启
Commons StringSubstitutor对模板占位符进行赋值
Commons StringSubstitutor对模板占位符进行赋值
232 0
|
6月前
|
XML Java 数据格式
spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
70 0
|
JSON 前端开发 Java
springboot中自定义JavaBean返回的json对象属性名称大写变小写问题
springboot中自定义JavaBean返回的json对象属性名称大写变小写问题
209 0
|
运维 Java 数据库连接
Mybatis-Plus实现公共字段自动赋值
Mybatis-Plus实现公共字段自动赋值
277 0
下一篇
无影云桌面