使用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);

    }

导出结果