From 723705c43f6e87e9f31e4c18eee1c163c14139bb Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期五, 10 五月 2024 16:55:48 +0800
Subject: [PATCH] 2024-5-10 绩效管理-班次-文件导出

---
 performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java b/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
index 30f16ae..45a48c6 100644
--- a/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
+++ b/performance-server/src/main/java/com/yuanchu/mom/controller/PerformanceShiftController.java
@@ -1,14 +1,24 @@
 package com.yuanchu.mom.controller;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.dto.PerformanceShiftAddDto;
 import com.yuanchu.mom.pojo.PerformanceShift;
 import com.yuanchu.mom.service.PerformanceShiftService;
+import com.yuanchu.mom.utils.StyleUtils;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotNull;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 
 /**
@@ -55,8 +65,19 @@
 
     @ApiOperation(value = "缁╂晥绠$悊-鐝-瀵煎嚭")
     @GetMapping("update")
-    public Result<?> exportToExcel(String time, String userName, String laboratory) {
-        performanceShiftService.exportToExcel(time, userName, laboratory);
-        return Result.success();
+    public void exportToExcel(@NotNull(message = "鏃堕棿涓嶈兘涓虹┖锛�") String time, String userName, String laboratory, HttpServletResponse response) throws Exception {
+        Map<Object, Object> data = performanceShiftService.exportToExcel(time, userName, laboratory);
+        // 璁剧疆鍗曞厓鏍兼牱寮�
+        HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle());
+        // 淇濆瓨鍒扮涓�涓猻heet涓�
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setHeader("requestType","excel");
+        response.setHeader("Access-Control-Expose-Headers", "requestType");
+        EasyExcel.write(response.getOutputStream())
+                .head((List<List<String>>) data.get("header"))
+                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+                .registerWriteHandler(horizontalCellStyleStrategy)
+                .sheet("妯℃澘")
+                .doWrite((Collection<?>) data.get("data"));
     }
 }

--
Gitblit v1.9.3