填充模板的样式
第一个sheet页:
第二个sheet页:
第三个sheet页:
/**
* 导出数据内容
*/
public void reportImputData() {
// 模板位置
String templateFileName = "D:\\amo\\2023年9月21日\\成本中心权限信息.xlsx";
// 生成文件位置
String fileName = "D:\\amo\\2023年9月21日\\simpleWrite" + System.currentTimeMillis() + ".xlsx";
// 通过easyExcel获取生成文件对象,并设置填充模板,进行初始化
try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) {
/**
* 用户与成本中心关联数据
*/
List<UserDept> find = dao.find(CriteriaParam.getDefaultInstance());
// 数据转换
List<Map<String, Object>> data = hanleReportInputDataByFill(find);
// 指定sheet页
WriteSheet writeSheetBy0 = EasyExcel.writerSheet("成本中心权限配置").build();
// 填充到指定sheet对象
excelWriter.fill(data, writeSheetBy0);
/**
* 成本中心信息
*/
List<Dept> find2 = deptDao.find(CriteriaParam.getDefaultInstance());
if (!CollectionUtils.isEmpty(find2)) {
find2 = find2.stream().sorted(Comparator.comparing(Dept::getKostl)).collect(Collectors.toList());
}
// 指定sheet页
WriteSheet writeSheetBy1 = EasyExcel.writerSheet("成本中心").build();
// 填充到指定sheet对象
excelWriter.fill(find2, writeSheetBy1);
/**
* 用户信息
*/
List<User> find3 = userDao.find(CriteriaParam.getDefaultInstance());
if (!CollectionUtils.isEmpty(find3)) {
find3 = find3.stream().sorted(Comparator.comparing(User::getUsername)).collect(Collectors.toList());
}
// 指定sheet页
WriteSheet writeSheetBy2 = EasyExcel.writerSheet("用户信息").build();
// 填充到指定sheet对象
excelWriter.fill(find3, writeSheetBy2);
}
}
填充后的效果