第一步:编写excel模板
第二步:引入pom文件 版本是个大坑
<poi.version>4.0.0</poi.version>
<easypoi.version>4.1.0</easypoi.version>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!-- excel -->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>${easypoi.version}</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>${easypoi.version}</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>${easypoi.version}</version>
</dependency>
第三步:代码编写
/** 导出学员注册列表 */
@PostMapping("/StatisticsExport")
@ResponseBody
public String queryExamExport(StudyClass studyClass) throws FileNotFoundException {
List<StudyStuRegistStatistics> list =
iStudyStuRegistService.selectStatisticsNum(
studyClass.getDeptId(),
studyClass.getPersonType(),
studyClass.getTrainStartDate(),
studyClass.getTrainStartDate1());
if (list.size() == 0) {
throw new BusinessException("未查询到信息!");
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("deptName", String.valueOf(ShiroUtils.getSysUser().getDeptId()));
map.put("date",String.valueOf(new Date()));
List<Map<String,String>> mapList = new ArrayList<Map<String, String>>();
for (int i=0;i<list.size();i++){
Map<String, String> lm = new HashMap<String, String>();
lm.put("personType",list.get(i).getPersonType());
lm.put("planNum",list.get(i).getPlanNum());
lm.put("certNum",list.get(i).getCertNum());
lm.put("beginningNum",list.get(i).getBeginningNum());
lm.put("refreshmentNum",list.get(i).getRefreshmentNum());
lm.put("changCertNum",list.get(i).getChangCertNum());
lm.put("kosekiNum",list.get(i).getKosekiNum());
lm.put("TestPassRate",list.get(i).getTestPassRate());
mapList.add(lm);
}
map.put("maplist",mapList);
TemplateExportParams params = new TemplateExportParams(profile+"/业绩查询.xls");
//导出数据
Workbook workbook = ExcelExportUtil.exportExcel(params, map);
File savefile = new File(profile+"/业绩查询.xls");
if (!savefile.exists()) {
savefile.mkdirs();
}
String uuid = UUIDGenerator.getUUID();
FileOutputStream fos = null;
try {
fos = new FileOutputStream(profile + "/download/业绩查询" + uuid + ".xls");
workbook.write(fos);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
return "业绩查询" + uuid + ".xls";
}
第四步:前端
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-warning" onclick="dow()">
<i class="fa fa-download"></i> 导出
</a>
</div>
function dow() {
$.ajax({
cache : true,
type : "POST",
url : ctx + "system/studyStuRegistStatistics/StatisticsExport",
async : false,
error : function(request) {
$.modal.alertError("系统错误");
},
success : function(data) {
console.log(data);
// window.location.href = ctx + "common/temdownload?fileName=" + encodeURI(data.) + "&delete=" + false;
}
});
}