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;
相关文章
|
6月前
SpringMVC-5种类型参数传递
SpringMVC-5种类型参数传递
51 0
swagger3.0中,如何在@GetMapping中写多个参数,包括数组类型的参数
swagger3.0中,如何在@GetMapping中写多个参数,包括数组类型的参数
392 0
|
fastjson 前端开发
巧用fastjson自定义序列化类实现字段的转换
项目中突然需要增加另一个字段的查找,而这个查找需要查另一张表的记录。 但现在产品很多地方都要增加该字段,如何最快的实现该功能呢。 办法如下: 通过fastjson序列化时,增加该字段的序列化类,该序列化类通过CODE查找名称,并序列化到前端。
5796 0
|
5月前
Mapstruct自定义转换规则
Mapstruct自定义转换规则
170 1
|
6月前
|
Python
基于 Validator 类实现 ParamValidator,用于校验函数参数
基于 Validator 类实现 ParamValidator,用于校验函数参数
71 0
|
6月前
|
Java
【Java代码】反射机制处理传递给mapper文件的非Map类型参数对象(指定属性为空则设置默认值)
【Java代码】反射机制处理传递给mapper文件的非Map类型参数对象(指定属性为空则设置默认值)
55 0
|
6月前
|
XML Java 数据格式
spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值
69 0
|
前端开发 Java 数据库
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
SpringBoot返回枚举对象中的所有属性以对象的形式返回(一个@JSONType解决)
790 0
|
Java
SpringBoot 自定义注解 + AOP实现参数效验,默认值赋值
SpringBoot 自定义注解 + AOP实现参数效验,默认值赋值
426 2