zl程序教程

您现在的位置是:首页 >  工具

当前栏目

easyExcel 填充模板生成新的excel

Excel模板 生成 填充 EasyExcel
2023-09-11 14:21:21 时间

POM

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>easyexcel</artifactId>
      <version>3.1.1</version>
    </dependency>

 

主要代码

String filePath ="D:\\project\\test1.xls";//生成文件
        String templateFilePath="D:\\project\\test_my.xls";//模板
 
        // 这里 会填充到第一个sheet, 然后文件流会自动关闭
        Map<String, Object> map = MapUtils.newHashMap();
        map.put("data1", "张三");
        map.put("data2", "5234");
        EasyExcel.write(filePath).withTemplate(templateFilePath).sheet().doFill(map);

 

模板:

填充字段:{data1}

List 使用:{.data1}

 

 

生成:

 

总结一下:

1 填充List  (模板使用 .name   .age等等)

        List<xxx> listRes ;
 
        //模板路径
        String templateFilePath = "路径/xxx.xlsx";
        //文件路径
        String filePath="路径/aaa.xlsx";
 
        EasyExcel.write(filePath).withTemplate(templateFilePath).sheet().doFill(listRes);

 

2 填充简单数据

Map<String, Object> map = new HashMap<>();
        map.put("aaa", "aaa");
        map.put("bbb", 333);
 
        //模板路径
        String templateFilePath = "路径/xxx.xlsx";
        //文件路径
        String filePath="路径/aaa.xlsx";
        EasyExcel.write(filePath).withTemplate(templateFilePath).sheet().doFill(map);

 

3 List+Map数据(关闭文件流,很重要!)

List<xxx> listRes ;
 
        //模板路径
        String templateFilePath = "路径/xxx.xlsx";
        //文件路径
        String filePath = "路径/aaa.xlsx";
 
        ExcelWriter excelWriter = EasyExcel.write(filePath ).withTemplate(templateFilePath).build();
        WriteSheet writeSheet = EasyExcel.writerSheet().build();
        //填充List
        excelWriter.fill(listRes, writeSheet);
        //填充单个数据
        Map<String, Object> map = new HashMap<>();
        OrikaUtils.convert(listRes.get(0),map);
        excelWriter.fill(map, writeSheet);
        //关闭文件流
        excelWriter.finish();