// 根据用户传入字段 假设我们只要导出 date SetincludeColumnFiledNames = new HashSet<>(); SalaryTemplateEntity template = salaryTemplateService.getById(usersalary.get("templateId")); System.out.println(template.getPropertiesList().toString()); ArrayList per = JSON.parseObject(template.getPropertiesList().toString(), new TypeReference>() { }); per.forEach(item -> includeColumnFiledNames.add(item.getPropertiesRemarks().toString())); //template.getTemplateName()+usersalary.get("time") // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding(Charsets.UTF_8.name()); String fileName = URLEncoder.encode(template.getTemplateName()+usersalary.get("time"), Charsets.UTF_8.name()); response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); System.out.println(includeColumnFiledNames.size()); EasyExcel.write(response.getOutputStream(), ExUserSalaryExcel.class).includeColumnFiledNames(includeColumnFiledNames).sheet("工资表") .doWrite(list);



