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