From 8c3efd62dfcea56853bfcb3d193c515fa9c7be0f Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 17 二月 2024 09:43:44 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java |   19 ++++++++-
 zy-asrs-wcs/pom.xml                                                          |    6 +++
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/ExcelUtil.java               |   54 +++++++++++++++++++++++++++
 3 files changed, 77 insertions(+), 2 deletions(-)

diff --git a/zy-asrs-wcs/pom.xml b/zy-asrs-wcs/pom.xml
index d927918..3750f5b 100644
--- a/zy-asrs-wcs/pom.xml
+++ b/zy-asrs-wcs/pom.xml
@@ -61,6 +61,12 @@
             <artifactId>spring-aspects</artifactId>
             <version>5.2.5.RELEASE</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>4.1.2</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
index 84dc46c..ac26178 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/sys/controller/RoleController.java
@@ -10,10 +10,15 @@
 import com.zy.asrs.wcs.common.domain.PageParam;
 import com.zy.asrs.wcs.sys.entity.Role;
 import com.zy.asrs.wcs.sys.service.RoleService;
+import com.zy.asrs.wcs.utils.ExcelUtil;
+import com.zy.asrs.wcs.utils.Utils;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -113,8 +118,18 @@
 
     @PreAuthorize("hasAuthority('sys:role:list')")
     @PostMapping("/role/export")
-    public R export(@RequestBody Role role) {
-        return R.ok("瀵煎嚭鎴愬姛");
+    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+        Workbook workbook = ExcelUtil.create();
+        try {
+            // 璁剧疆鍝嶅簲澶�
+            response.reset();
+            Utils.cors(response);
+            response.setContentType("application/octet-stream; charset=utf-8");
+            response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("Role.xls", "UTF-8"));
+            workbook.write(response.getOutputStream());
+        } finally {
+            workbook.close();
+        }
     }
 
 }
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/ExcelUtil.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/ExcelUtil.java
new file mode 100644
index 0000000..ad6384a
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/ExcelUtil.java
@@ -0,0 +1,54 @@
+package com.zy.asrs.wcs.utils;
+
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+
+/**
+ * Created by vincent on 2/17/2024
+ */
+public class ExcelUtil {
+
+    public static Workbook create() {
+        // 鍒涘缓 Workbook 鍜� Sheet
+        HSSFWorkbook workbook = new HSSFWorkbook();
+        Sheet sheet = workbook.createSheet("杩愮淮鎶ヨ〃");
+
+        // 鍒涘缓琛ㄥご
+        Row header = sheet.createRow(0);
+        header.createCell(0).setCellValue("濮撳悕");
+        header.createCell(1).setCellValue("骞撮緞");
+        header.createCell(2).setCellValue("鎬у埆");
+        header.createCell(3).setCellValue("鑱屼綅");
+
+        // 娣诲姞涓�浜涙暟鎹�
+        Row row1 = sheet.createRow(1);
+        row1.createCell(0).setCellValue("寮犱笁");
+        row1.createCell(1).setCellValue(28);
+        row1.createCell(2).setCellValue("鐢�");
+        row1.createCell(3).setCellValue("杩愮淮宸ョ▼甯�");
+
+        Row row2 = sheet.createRow(2);
+        row2.createCell(0).setCellValue("鏉庡洓");
+        row2.createCell(1).setCellValue(32);
+        row2.createCell(2).setCellValue("濂�");
+        row2.createCell(3).setCellValue("椤圭洰缁忕悊");
+
+        Row row3 = sheet.createRow(3);
+        row3.createCell(0).setCellValue("鐜嬩簲");
+        row3.createCell(1).setCellValue(25);
+        row3.createCell(2).setCellValue("鐢�");
+        row3.createCell(3).setCellValue("寮�鍙戝伐绋嬪笀");
+
+        // 鎵ц鍗曞厓鏍艰嚜鍔ㄥ垪瀹�
+        for (int i = 0; i <= 3; i++) {
+            sheet.autoSizeColumn(i);
+        }
+
+        return workbook;
+    }
+
+
+
+}

--
Gitblit v1.9.1