From e645267a3edad397cc219d444565e61b32e10212 Mon Sep 17 00:00:00 2001 From: "453530270@qq.com" Date: Thu, 29 Jun 2023 10:47:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=8A=82=E5=AF=BC=E5=87=BAexcel?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/AdminOrderController.java | 27 +++++-------------- urls.md | 4 ++- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java index 13da34b..3c3c158 100644 --- a/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java +++ b/src/main/java/cn/chjyj/szwh/controller/admin/AdminOrderController.java @@ -194,7 +194,7 @@ public class AdminOrderController extends BaseController { * @param request * @throws IOException */ - @PostMapping(value = "/export",produces = "application/octet-stream") + @PostMapping(value = "/export") public void export(HttpServletResponse response, HttpServletRequest request) throws IOException { // 获取查询条件,得到对应的数据 JSONObject rejson = SzReqUtils.getJson(request); @@ -208,22 +208,13 @@ public class AdminOrderController extends BaseController { List adordlist = orderService.getAdOrdlist(rmap,page,limit); try { - String dateStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")); - String name = "WHYOTS"+dateStr; - //防止下载时中文乱码 - name = new String(name.getBytes("UTF-8"), "ISO-8859-1"); - response.setContentType("application/vnd.ms-excel"); - response.setCharacterEncoding("utf-8"); - //添加这个是防止前端拿不到Content-disposition - response.setHeader("Content-Disposition", "attachment;filename=" + name+".xlsx"); - response.setHeader("Access-Control-Expose-Headers","Content-disposition"); - -// response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // response.setCharacterEncoding("utf-8"); -// // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 -// //String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20"); -// String fileName =UUID.randomUUID().toString(); -// response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系 + //String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20"); + String fileName =UUID.randomUUID().toString(); + // Content-Disposition + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); // 这里需要设置不关闭流 EasyExcel.write(response.getOutputStream(), AdOrderVO.class) .autoCloseStream(Boolean.FALSE) @@ -236,10 +227,6 @@ public class AdminOrderController extends BaseController { response.setCharacterEncoding("utf-8"); JSONObject otjson = AjaxResult.error("下载文件失败" + e.getMessage()); response.getWriter().println(otjson); -// Map otmap = new HashMap<>(); -// otmap.put("status", "failure"); -// otmap.put("message", "下载文件失败" + e.getMessage()); - //response.getWriter().println(JSON.toJSONString(otmap)); } } diff --git a/urls.md b/urls.md index a3e14c1..74d047d 100644 --- a/urls.md +++ b/urls.md @@ -52,4 +52,6 @@ https://www.cnblogs.com/thinkguo/archive/2019/08/01/11281919.html -https://blog.csdn.net/qq_42739776/article/details/123791866 \ No newline at end of file +https://blog.csdn.net/qq_42739776/article/details/123791866 + +[Vue+easyexcel实现excel导入导出](https://blog.csdn.net/qq_42739776/article/details/123791866) \ No newline at end of file