easyExcel 填充模板生成新的excel
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();


浙公网安备 33010602011771号