> 文章列表 > java springboot导出excel功能

java springboot导出excel功能

java springboot导出excel功能

导出excel

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.20</version>
</dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version></dependency>

浏览器写出输出格式

 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");String fileName = URLEncoder.encode("用户信息", "UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");

导出接口

@GetMapping (value = "/exportCultivate")
public void exportCultivate(HttpServletRequest request, HttpServletResponse response) throws IOException{List<CultivateInfo> cInfoList = cultivateService.queryAllCultivateInfoListByUser();if (cInfoList == null){response.getWriter().write("data does not exist");}// 在内存操作,写出到浏览器ExcelWriter writer = ExcelUtil.getWriter();//自定义标题别名writer.addHeaderAlias("cultivateName", "培训名称");writer.addHeaderAlias("trainingStatus", "培训状态"); // 1没有培训,2完成培训 3.正在进行writer.addHeaderAlias("trainingStartTime", "培训预计开始时间");writer.addHeaderAlias("trainingEndTime", "培训预计结束时间");writer.addHeaderAlias("trainingLocation", "培训地点");writer.addHeaderAlias("trainingTeacher", "内训师");writer.addHeaderAlias("teacherDepartment", "内训师所在部门");writer.addHeaderAlias("teacherTelephone", "内训师电话号码");writer.addHeaderAlias("prelectObject", "授课对象");writer.addHeaderAlias("number", "培训人数");writer.addHeaderAlias("signIn", "是否报名培训"); // 默认 1.不报名 2报名writer.addHeaderAlias("trainingTime", "培训时长/分钟");writer.addHeaderAlias("actualStartTime", "培训实际开始时间");writer.addHeaderAlias("actualEndTime", "培训实际结束时间");writer.addHeaderAlias("trainingSummary", "培训小结");writer.addHeaderAlias("trainingScore", "培训评价成绩");// 一次性写出list内的对象到excel,使用默认样式,强制输出标题writer.setOnlyAlias(true);writer.write(cInfoList, true);// 设置浏览器响应的格式response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");String fileName = URLEncoder.encode("培训信息", "UTF-8");response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");ServletOutputStream out = response.getOutputStream();writer.flush(out, true);out.close();writer.close();IoUtil.close(out);