https://blog.csdn.net/qq_44749491/article/details/127879946
一、概述
使用注解很简单,只要在对应的实体类上面加上注解即可。
也就是说使用实体类模型来读写Excel文件时,可以通过注解来控制实体类字段和Excel列之间的对应关系。
二、ExcelProperty
2.1 作用
ExcelProperty注解用于匹配excel和实体类字段之间的关系。
可以作用于字段上。
2.1 注解参数
名称 默认值 描述
value 空 用于匹配excel中的头,必须全匹配,如果有多行头,会匹配最后一行头
order Integer.MAX_VALUE 优先级高于value,会根据order的顺序来匹配实体和excel中数据的顺序
index -1 优先级高于value和order,会根据index直接指定到excel中具体的哪一列
converter 自动选择 指定当前字段用什么转换器,默认会自动选择。写的情况下只要实现com.alibaba.excel.converters.Converter#convertToExcelData(com.alibaba.excel.converters.WriteConverterContext) 方法即可
2.3 使用示例
@Getter
@Setter
@EqualsAndHashCode
public class DemoData {
@ExcelProperty("字符串标题")
private String title;
// 在这个字段前面加上 自定义三个字
@ExcelProperty(value = "conver的使用", converter = CustomStringStringConverter.class)
private String convert;
@ExcelProperty(value = "日期标题", index = 3)
private Date date;
@ExcelProperty(value = "数字标题", index = 5)
private Double doubleData;
}
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;
/**
* 定义一个字符串转换器,需要实现Converter接口并且传递需要转换的泛型
*/
public class CustomStringStringConverter implements Converter<String> {
// 所支持的java类型
@Override
public Class<?> supportJavaTypeKey() {
return String.class;
}
// 所支持的Excel枚举类型
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
/**
* 这里读的时候会调用
* @param context 上下文对象 可以获取当前读的单元格的文字内容
* @return 格式化后的值
*/
@Override
public String convertToJavaData(ReadConverterContext<?> context) {
return "自定义:" + context.getReadCellData().getStringValue();
}
/**
* 这里是写的时候会调用 通常情况可以不用管
* @return
*/
@Override
public WriteCellData<?> convertToExcelData(WriteConverterContext<String> context) {
return new WriteCellData<>(context.getValue());
}
}
@Getter
@Setter
@EqualsAndHashCode
public class DemoData {
// 忽略这个字段,不写入Excel当中
@ExcelIgnore
private String ignore;
}
标签:格式化,EasyExcel,excel,value,alibaba,return,注解,com From: https://www.cnblogs.com/chuangsi/p/17341734.html