使用EasyExcel实现简单的Excel模板填充
还是使用原来的实体类
package com.zeromemos.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class ExcelDemoData {
//设置表头名称
@ExcelProperty("编号")
private int id;
//设置表头名称
@ExcelProperty("姓名")
private String name;
}
创建一个模板excel,template.xlsx如下图,填充的字段用{字段名}代替
进行测试,两种方案,一种是用上面的ExcelDemoData实体类填充,一种是用map填充
@Test
public void run6(){
//指定excel模板文件
String templateFileName = "C:\\Users\\admin\\Desktop\\template.xlsx";
//指定填充后保存excel的文件
String fileName = "C:\\Users\\admin\\Desktop\\demo.xlsx";
// 方案1 根据对象填充
//新建数据
//ExcelDemoData data = new ExcelDemoData();
//data.setName("张三");
//data.setId(2);
//执行写入
//EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(data);
// 这里 会填充到第一个sheet, 然后文件流会自动关闭
// 方案2 根据Map填充
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "张三");
map.put("id", 1);
EasyExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(map);
}
导出结果