修改到处

This commit is contained in:
Guava
2023-06-21 16:48:19 +08:00
parent 034c4cbf66
commit 99395ee8d5

View File

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