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();