From 75b2904fbaf4fab6a9fb3baf065d2c927cc7a7a2 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 27 九月 2023 18:16:34 +0800
Subject: [PATCH] 基础数据-物料清单维护-导出

---
 framework/src/main/java/com/yuanchu/mom/utils/easyexcel/EasyExcelUtils.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 deletions(-)

diff --git a/framework/src/main/java/com/yuanchu/mom/utils/easyexcel/EasyExcelUtils.java b/framework/src/main/java/com/yuanchu/mom/utils/easyexcel/EasyExcelUtils.java
index 578666c..13018f6 100644
--- a/framework/src/main/java/com/yuanchu/mom/utils/easyexcel/EasyExcelUtils.java
+++ b/framework/src/main/java/com/yuanchu/mom/utils/easyexcel/EasyExcelUtils.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.utils.easyexcel;
 
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.excel.EasyExcelFactory;
 import com.alibaba.excel.ExcelReader;
 import com.alibaba.excel.ExcelWriter;
@@ -15,13 +16,17 @@
 import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
 import com.yuanchu.mom.exception.ExcelException;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.ss.formula.functions.T;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.*;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.Calendar;
 import java.util.List;
 import java.util.Map;
@@ -33,7 +38,6 @@
 **/
 public class EasyExcelUtils {
 
-
     public static HorizontalCellStyleStrategy getStyleStrategy() {
         // 澶寸殑绛栫暐
         WriteCellStyle headWriteCellStyle = new WriteCellStyle();
@@ -42,7 +46,7 @@
         WriteFont headWriteFont = new WriteFont();
         headWriteFont.setFontHeightInPoints((short) 12);
         // 瀛椾綋鏍峰紡
-        headWriteFont.setFontName("Frozen");
+        headWriteFont.setFontName("瀹嬩綋");
         headWriteCellStyle.setWriteFont(headWriteFont);
         // 鑷姩鎹㈣
         headWriteCellStyle.setWrapped(false);
@@ -59,12 +63,19 @@
         contentWriteCellStyle.setFillForegroundColor(IndexedColors.WHITE.getIndex());
         WriteFont contentWriteFont = new WriteFont();
         // 瀛椾綋澶у皬
-        contentWriteFont.setFontHeightInPoints((short) 12);
+        contentWriteFont.setFontHeightInPoints((short) 11);
         // 瀛椾綋鏍峰紡
-        contentWriteFont.setFontName("Calibri");
+        contentWriteFont.setFontName("瀹嬩綋");
         contentWriteCellStyle.setWriteFont(contentWriteFont);
-        // 鍐呭宸﹀榻�
-        contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.LEFT);
+        // 鍐呭灞呬腑瀵归綈
+        contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
+        //鍐呭鍨傜洿灞呬腑
+        contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
+        //杈规璁剧疆
+        contentWriteCellStyle.setBorderTop(BorderStyle.THIN);
+        contentWriteCellStyle.setBorderRight(BorderStyle.THIN);
+        contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);
+        contentWriteCellStyle.setBorderLeft(BorderStyle.THIN);
         // 杩欎釜绛栫暐鏄� 澶存槸澶寸殑鏍峰紡 鍐呭鏄唴瀹圭殑鏍峰紡 鍏朵粬鐨勭瓥鐣ュ彲浠ヨ嚜宸卞疄鐜�
         return new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
     }
@@ -82,7 +93,7 @@
         // 鑷姩鎹㈣
         headWriteCellStyle.setWrapped(false);
         // 姘村钩瀵归綈鏂瑰紡
-        headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.LEFT);
+        headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
         // 鍨傜洿瀵归綈鏂瑰紡
         headWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
         // 鍐呭鐨勭瓥鐣�
@@ -141,6 +152,31 @@
     }
 
     /**
+     * 璁剧疆response
+     * @param response
+     * @param targetName
+     * @return
+     */
+    public static HttpServletResponse getResponse(HttpServletResponse response, String targetName){
+        String fileName;
+        try {
+            fileName = String.valueOf(new StringBuilder()
+                    .append(targetName)
+                    .append("_")
+                    .append(DateUtil.today())
+                    .append(ExcelTypeEnum.XLS.getValue()));
+            fileName =  URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString());
+            response.setContentType("application/vnd.ms-excel");
+            response.setHeader("Cache-Control", "no-cache");
+            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
+            response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
+            return response;
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+                                                  /**
      * excel鏂囦欢璇诲彇
      *
      * @param clazz model绫诲瀷Class瀵硅薄

--
Gitblit v1.9.3