自定义表头ExcelProperty注解中属性index和order区别
·
使用字段作为表头显然不是我们想要的,EasyExcel提供了ExcelProperty注解,可以定义表头的名称。这个注解还提供了index、order两个属性,可以定义列的位置和顺序。
@Data
public class IndexItem {
@ExcelProperty(value = "字符串标题", index = 1)
private String string;
@ExcelProperty(value = "日期标题", index = 3)
private Date date;
@ExcelProperty(value = "数字标题", index = 5)
private Double doubleData;
}
使用起来也很简单:
private static void writeWithIndex() {
final String fileName = defaultFileName("writeWithIndex");
EasyExcelFactory.write(fileName)
.head(IndexItem.class)
.sheet("模板")
.doWrite(WriteSample::sampleItems);
}
结果为:
这里需要注意一下,在使用ExcelProperty注解时,index表示字段放置第几列,order表示顺序。
根据index和order的不同语义,对两者的控制不同。如果index相同,直接会抛出异常,因为程序无法判断这个列放那个字段。如果index值中间有空的数字,就会出现空列。如果order和index同时使用,index优先占据位置,order做排序。index=-1的话,使用java默认排序,order值越小,列越靠前。
更多推荐
已为社区贡献1条内容
所有评论(0)