EasyExcel模板导出
1. 引入pom依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
<exclusions>
<exclusion>
<artifactId>poi</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
<exclusion>
<artifactId>poi-ooxml</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
<exclusion>
<artifactId>xmlbeans</artifactId>
<groupId>org.apache.xmlbeans</groupId>
</exclusion>
<exclusion>
<artifactId>poi-ooxml-schemas</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
<exclusions>
<exclusion>
<artifactId>poi-ooxml-schemas</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.1.0</version>
</dependency>
2. 把模板activity.xlsx放在在Resources目录下

3. 模板导出代码
ActivityInfo activityInfo = activityMapper.getActivityInfo(activityId);
response.setCharacterEncoding("utf-8");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(activityInfo.getTopic()+"报名表单"+DateFormatUtil.formatDateToTimeStr(new Date())+".xls", StandardCharsets.UTF_8));
InputStream template = new PathMatchingResourcePatternResolver().getResource("classpath:activity.xlsx").getInputStream();
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(template).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
Map<String,Object> activityInfoMap = new HashMap<>();
activityInfoMap.put("topic",activityInfo.getTopic());
activityInfoMap.put("address",activityInfo.getAddress());
activityInfoMap.put("time",activityInfo.getTime());
activityInfoMap.put("initiatorMenName",activityInfo.getInitiatorMenName());
activityInfoMap.put("phoneNumber",activityInfo.getPhoneNumber());
activityInfoMap.put("applyNum",activityInfo.getApplyNum());
activityInfoMap.put("signNum",activityInfo.getSignNum());
activityInfoMap.put("signRate",activityInfo.getSignRate());
activityInfoMap.put("wechatApplyNum",activityInfo.getWechatApplyNum());
activityInfoMap.put("sceneApplyNum",activityInfo.getSceneApplyNum());
List<Applicants> applicantsList = activityMapper.getApplicantList(activityId);
excelWriter.fill(applicantsList, writeSheet);
excelWriter.fill(activityInfoMap, writeSheet);
excelWriter.finish();
4. 前台代码
var url = vueConfig.deal + '://' + vueConfig.webIp + ':' + vueConfig.webPort
location.href = url + '/activity/exportActivityApplyExcel?activityId=' + activityId
5. 本地导出成功,linux导出报错create workbook failure
yum groupinstall chinese-support