try {
//构造班级请求体
TrainMainPageVo trainMainPageVo = buildClassData(classId);
List<TrainMainPageVo> list = new ArrayList<>();
list.add(trainMainPageVo);
//学员
List<TrainStuPageVo> stuPageVoList = buildStuData(classId);
//师资
List<TeacherMainPageVo> teacherMainPageVos = buildTeaData(classId);
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = "班级全量信息" + System.currentTimeMillis();
// 这里URLEncoder.encode可以防止中文乱码
fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ExcelTypeEnum.XLSX.getValue());
//新建ExcelWriter
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).build();
//获取sheet0对象
WriteSheet classSheet = EasyExcel.writerSheet(0, "班级信息").head(TrainMainPageVo.class).build();
//获取模型信息,向sheet0写入数据
excelWriter.write(list, classSheet);
//获取sheet1对象
WriteSheet stuSheet = EasyExcel.writerSheet(1, "学员信息").head(TrainStuPageVo.class).build();
excelWriter.write(stuPageVoList, stuSheet);
//获取sheet2对象
WriteSheet teaSheet = EasyExcel.writerSheet(2, "师资信息").head(TeacherMainPageVo.class).build();
excelWriter.write(teacherMainPageVos, teaSheet);
//关闭流
excelWriter.finish();
} catch (Exception e) {
throw new RuntimeException(e);
}
记录 EasyExcel导出多个sheet
于 2022-12-15 14:50:28 首次发布