diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java index ff551ed7..993e6db0 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/boecase/api/CasesRecommendApi.java @@ -131,7 +131,9 @@ public class CasesRecommendApi extends ApiBaseController { ExcelWriter writer = ExcelUtil.getWriter(); writer.writeHeadRow(ListUtil.toList("标题")); - writer.write(dataList); + if (CollectionUtil.isNotEmpty(dataList)) { + writer.write(dataList); + } response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setHeader("Content-Disposition", "attachment;filename=failData.xls"); ServletOutputStream out = response.getOutputStream(); @@ -193,29 +195,29 @@ public class CasesRecommendApi extends ApiBaseController { row.put("总查看时间", it.getReadEndTime()); return row; }).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(rows)){ + if (CollectionUtil.isNotEmpty(rows)) { // 通过工具类创建writer try (ExcelWriter writer = ExcelUtil.getWriter(true); // 输出流 ServletOutputStream servletOutputStream = response.getOutputStream() - ){ + ) { // 一次性写出内容 writer.write(rows, true); // 微调一下每个列的宽度 - writer.setColumnWidth(0,50); - writer.setColumnWidth(1,16); - writer.setColumnWidth(2,24); - writer.setColumnWidth(3,34); - writer.setColumnWidth(4,10); - writer.setColumnWidth(5,20); - writer.setColumnWidth(6,20); + writer.setColumnWidth(0, 50); + writer.setColumnWidth(1, 16); + writer.setColumnWidth(2, 24); + writer.setColumnWidth(3, 34); + writer.setColumnWidth(4, 10); + writer.setColumnWidth(5, 20); + writer.setColumnWidth(6, 20); // 此处的response.setContentType 和教程里的不同 response.setContentType("application/octet-stream"); // filename就是表格的名字,这个无所谓,反正前端还会重命名 - response.setHeader("Content-Disposition","attachment;filename=推荐信息.xlsx"); + response.setHeader("Content-Disposition", "attachment;filename=推荐信息.xlsx"); - writer.flush(servletOutputStream,true); - }catch (Exception e){ + writer.flush(servletOutputStream, true); + } catch (Exception e) { throw new RuntimeException(e.getMessage()); } }