EasyExcel导入导出的数据格式转换

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;

public class LoginStatusConverter implements Converter<String> {
    //在java中状态是用 0 1 来标识的  所以是int
    @Override
    public Class supportJavaTypeKey() {return Integer.class;}
	// 在excel中是“登录”“未登录” 所以是string
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}
	//将excel的数据类型转为java数据类型
    @Override
    public Integer convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        String stringValue = cellData.getStringValue();
        if (stringValue == null) {
            throw new RuntimeException("登录状态填写为空");
        }
        if ("登录".equals(stringValue)) {
           return 1;
        }
         return 0;
    }
	//将java的数据类型转为excel数据类型
    @Override
    public CellData convertToExcelData(Integer s, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        if	(s == 0){
             return new CellData("未登录");
        }
        return new CellData("登录");
    }
}

然后在实体类的字段上标注 converter

@ExcelProperty(value = "登录状态",index=3,converter=LoginStatusConverter.class)
private Integer loginStatus;

猜你喜欢

转载自blog.csdn.net/QingXu1234/article/details/114068875
今日推荐