diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 6455a0d..1a5f7b1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -70,8 +70,8 @@ } @RequestMapping("/exportMessage") - public Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { - return visitorApplyService.exportMessage(ids,request,response,path); + public void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(ids,request,response,path); } @RequestMapping("/getMessageList") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 6455a0d..1a5f7b1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -70,8 +70,8 @@ } @RequestMapping("/exportMessage") - public Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { - return visitorApplyService.exportMessage(ids,request,response,path); + public void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(ids,request,response,path); } @RequestMapping("/getMessageList") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 2c82fc3..9520dc8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -25,5 +25,5 @@ Object getMessageList(HttpServletRequest request); - Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path); + void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 6455a0d..1a5f7b1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -70,8 +70,8 @@ } @RequestMapping("/exportMessage") - public Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { - return visitorApplyService.exportMessage(ids,request,response,path); + public void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(ids,request,response,path); } @RequestMapping("/getMessageList") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 2c82fc3..9520dc8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -25,5 +25,5 @@ Object getMessageList(HttpServletRequest request); - Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path); + void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java index 0bb9144..7ef3772 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -24,6 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; import java.text.ParseException; import java.util.*; @@ -170,7 +173,7 @@ } @Override - public Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path) { + public void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path) { try { String[] split = ids.split(","); List list = new ArrayList<>(Arrays.asList(split)); @@ -181,12 +184,11 @@ visitorApply.setVisitorApplyStatus(""); }); String url = path+"file-"+new Date().getTime()+".xls"; - ExportUtils.writeExcel(visitorApplyList,url,"sheet",VisitorApply.class); + ExportUtils.writeExcel(response,visitorApplyList,"fileName","sheet",VisitorApply.class); + //ExportUtils.writeExcel(visitorApplyList,url,"sheet",VisitorApply.class); //iBaseExportService.exportExcel(response,VisitorApply.class,visitorApplyList,"sheet"); - return ResponseData.success(url); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(Status.FAIL); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java index 6455a0d..1a5f7b1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/VisitController.java @@ -70,8 +70,8 @@ } @RequestMapping("/exportMessage") - public Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { - return visitorApplyService.exportMessage(ids,request,response,path); + public void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response) { + visitorApplyService.exportMessage(ids,request,response,path); } @RequestMapping("/getMessageList") diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java index 2c82fc3..9520dc8 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/VisitorApplyService.java @@ -25,5 +25,5 @@ Object getMessageList(HttpServletRequest request); - Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path); + void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java index 0bb9144..7ef3772 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/VisitorApplyServiceImpl.java @@ -1,5 +1,7 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.date.DateUtil; +import com.alibaba.excel.EasyExcel; import com.alibaba.excel.util.DateUtils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -24,6 +26,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.FileOutputStream; import java.text.ParseException; import java.util.*; @@ -170,7 +173,7 @@ } @Override - public Object exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path) { + public void exportMessage(String ids, HttpServletRequest request, HttpServletResponse response,String path) { try { String[] split = ids.split(","); List list = new ArrayList<>(Arrays.asList(split)); @@ -181,12 +184,11 @@ visitorApply.setVisitorApplyStatus(""); }); String url = path+"file-"+new Date().getTime()+".xls"; - ExportUtils.writeExcel(visitorApplyList,url,"sheet",VisitorApply.class); + ExportUtils.writeExcel(response,visitorApplyList,"fileName","sheet",VisitorApply.class); + //ExportUtils.writeExcel(visitorApplyList,url,"sheet",VisitorApply.class); //iBaseExportService.exportExcel(response,VisitorApply.class,visitorApplyList,"sheet"); - return ResponseData.success(url); } catch (Exception e) { e.printStackTrace(); - return ResponseData.error(Status.FAIL); } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/ExportUtils.java b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/ExportUtils.java index e5b2103..f70b67f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/utils/ExportUtils.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/utils/ExportUtils.java @@ -1,17 +1,22 @@ package com.casic.missiles.modular.system.utils; +import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.metadata.style.WriteFont; import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; +import com.casic.missiles.dto.FileAdpDto; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.VerticalAlignment; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.net.URLEncoder; import java.util.List; /** @@ -21,6 +26,7 @@ */ public class ExportUtils { + private static final Logger log = LoggerFactory.getLogger(ExportUtils.class); /** @@ -66,5 +72,16 @@ EasyExcel.write(fileName, clazz).excelType(ExcelTypeEnum.XLSX).sheet(sheetName).registerWriteHandler(getDefaultHorizontalCellStyleStrategy()).doWrite(data); } + public static void writeExcel(HttpServletResponse response, List data, String fileName, String sheetName, Class clazz) throws Exception { + EasyExcel.write(getOutputStream(fileName, response), clazz).excelType(ExcelTypeEnum.XLSX).sheet(sheetName).registerWriteHandler(getDefaultHorizontalCellStyleStrategy()).doWrite(data); + } + + private static OutputStream getOutputStream(String fileName, HttpServletResponse response) throws Exception { + fileName = URLEncoder.encode(fileName, "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); // .xlsx + response.setCharacterEncoding("utf8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx"); + return response.getOutputStream(); + } }