赞
踩
若依中的excel很好用,但是并不全
使用easyexcel 自定义导出excel文件
定义一个实体类,给实体类加上注解
@ExcelIgnoreUnannotated
代表没有@ExcelProperty默认不导出
@Data @Builder @NoArgsConstructor @AllArgsConstructor @ExcelIgnoreUnannotated public class MaterialInfo extends BaseEntity { private static final long serialVersionUID = 1L; /** 规格代码 */ @ExcelProperty(value = "物料代码") @Excel(name = "物料代码") private String materialCode; /** 物料名称 */ @Excel(name = "物料名称") @ExcelProperty(value = "物料名称") private String materialName; /** 审核人 */ @Excel(name = "审核人") @ExcelProperty(value = "审核人") private String auditBy; /** 审核时间 */ @ExcelProperty("审核时间") @DateTimeFormat("yyyy-MM-dd") private Date auditTime; private Map<String, Object> params; }
对于一般类型字段可以直接导出,但是对于特殊类型,你需要定义convertor
,例如如果你的字段有Map类型,就会报错,让你定义转换器
如果这个字段是父类的,你压根不用,可以再子类中再次声明一下这个属性,覆盖掉
@ExcelIgnoreUnannotated
public class MaterialInfo extends BaseEntity
{
private Map<String, Object> params;
}
- 需要导出的文件File变量
- List中的实体类的class
- 是否使用默认的样式
- sheet的内容
- 用于存储数据的LIst集合变量
// 将materialInfos 写入到file中
EasyExcel.write(file, MaterialInfo.class)
.useDefaultStyle(true)
.sheet("新增物料信息")
.doWrite(materialInfos);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。