From 0c479f17e5f9ff3ad638f3af783cf22b0a77fbd0 Mon Sep 17 00:00:00 2001 From: 刘小明 <liuxm_a@163.com> Date: 星期一, 26 八月 2024 16:04:43 +0800 Subject: [PATCH] 排班导出优化 --- pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java index d583cb9..962f7d2 100644 --- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java +++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/schedule/ScheduleCtrl.java @@ -1,5 +1,6 @@ package com.dy.pmsProduct.schedule; +import com.alibaba.excel.EasyExcel; import com.alibaba.excel.converters.Converter; import com.dy.common.aop.SsoPowerAop; import com.dy.common.webUtil.BaseResponse; @@ -14,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -25,8 +27,7 @@ @RestController @RequestMapping(path="schedule") public class ScheduleCtrl { - private static final String fileName = "鎺掔彮淇℃伅" ; - private static final String sheetName = "鎺掔彮淇℃伅" ; + private ScheduleSv sv; @Autowired public void setScheduleSv(ScheduleSv scheduleSv) { @@ -99,7 +100,8 @@ return BaseResponseUtils.buildSuccess(list); } - + private String fileName = "鎺掔彮淇℃伅" ; + private String sheetName = "鎺掔彮淇℃伅" ; @PostMapping(path="export") @SsoPowerAop(power = "-1") @Log("瀵煎嚭鎺掔彮") @@ -107,10 +109,10 @@ List<Converter> list = new ArrayList<>() ; List<PrSchedule> schList = sv.selectAll(queryVo); - // 浣跨敤骞惰娴佹彁楂樻�ц兘 - schList.parallelStream().forEach(sch -> { + schList.forEach(sch -> { sch.relList.forEach(rel -> { ExcelVo vo = new ExcelVo(); + vo.id = sch.id.toString(); vo.userName = sch.userName; vo.scheduleDate = sch.scheduleDate; vo.dt = sch.dt; @@ -121,6 +123,16 @@ list.add(vo); }); }); - QrCodeUtil.downloadExcel(response, fileName,sheetName,list); + + try{ + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + fileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), list.get(0).getClass()).sheet(sheetName) + .registerWriteHandler(new CustomCellWriteHandler()).doWrite(list); + }catch (Exception e){ + log.error("瀵煎嚭鎺掔彮淇℃伅寮傚父", e); + } } } -- Gitblit v1.8.0