From b0cf8fb827157f3bfc31d5ae155fdb786d0a9e24 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期三, 21 六月 2023 09:23:12 +0800
Subject: [PATCH] jar替换

---
 src/main/java/com/whyc/util/ExcelUtil.java |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/whyc/util/ExcelUtil.java b/src/main/java/com/whyc/util/ExcelUtil.java
index ae094c7..8554625 100644
--- a/src/main/java/com/whyc/util/ExcelUtil.java
+++ b/src/main/java/com/whyc/util/ExcelUtil.java
@@ -1,10 +1,12 @@
 package com.whyc.util;
 
 import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.net.URLEncoder;
 
 /**
  * @Description: 琛ㄦ牸宸ュ叿绫�
@@ -19,6 +21,8 @@
         }
         //绗簩姝ワ紝鍦╳ebbook涓坊鍔犱竴涓猻heet锛屽嵆excel鐨勮〃鍗�
         HSSFSheet sheet = wb.createSheet(sheetName);
+        CellRangeAddress rangeAddress = CellRangeAddress.valueOf("A1:J1");
+        sheet.setAutoFilter(rangeAddress);
         //璁剧疆鍒楀搴�
         //鍒ゆ柇鏄惁涓虹┖
         if (values != null && values.length > 0) {
@@ -28,6 +32,13 @@
         }
         //绗笁姝ワ紝鍦╯heet涓坊鍔犺〃澶寸0琛岋紝鍗砮xcel鐨勮
         HSSFRow row = sheet.createRow(0);
+        HSSFCellStyle titleCellStyle = wb.createCellStyle();
+        titleCellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
+        HSSFFont font = wb.createFont();
+        font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
+        titleCellStyle.setFont(font);
+        row.setRowStyle(titleCellStyle);
+
         //绗洓姝ワ紝鍒涘缓鍗曞厓鏍硷紝骞惰缃�艰〃澶达紝璁剧疆琛ㄥご灞呬腑锛屽嵆excel鏍煎瓙鍗曞厓
         HSSFCellStyle style = wb.createCellStyle();
         //灞呬腑鏍煎紡
@@ -45,7 +56,7 @@
         for (int i = 0; i < title.length; i++) {
             cell = row.createCell(i);
             cell.setCellValue(title[i].toString());
-            cell.setCellStyle(style);
+            cell.setCellStyle(titleCellStyle);
         }
         // 鍒涘缓鍐呭
         for (int i = 0; i < values.length; i++) {
@@ -68,8 +79,9 @@
             e.printStackTrace();
         }
         try {
-            //response.setCharacterEncoding("UTF-8");
-            response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes()) + ".xls");
+            //response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1) + ".xls");
+            response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode (fileName+ ".xls", "utf-8"));
+            response.setCharacterEncoding("UTF-8");
             //涓嶄繚瀛樼紦瀛樹俊鎭笌response.reset鍚屾牱鏁堟灉
             response.addHeader("Pragma", "no-cache");
             response.addHeader("Cache-Control", "no-cache");
@@ -82,13 +94,13 @@
     }
 
     //鏋勯�犳寚瀹氱殑鍗曞厓鏍兼牱寮�
-    public static HSSFCellStyle createCellStyle(HSSFWorkbook wb,String fontType,int fontSize,boolean center,boolean blod){
+    public static HSSFCellStyle createCellStyle(HSSFWorkbook wb,String fontType,int fontSize,boolean center,boolean bold){
 
         HSSFCellStyle cellStyle = wb.createCellStyle();																		//鍗曞厓鏍兼牱寮�
         HSSFFont font = wb.createFont();
         font.setFontName(fontType);
         font.setFontHeightInPoints((short) fontSize);																		//璁剧疆瀛椾綋澶у皬
-        font.setBoldweight(blod?HSSFFont.BOLDWEIGHT_BOLD:HSSFFont.BOLDWEIGHT_NORMAL);										//绮椾綋鏄剧ず
+        font.setBoldweight(bold?HSSFFont.BOLDWEIGHT_BOLD:HSSFFont.BOLDWEIGHT_NORMAL);										//绮椾綋鏄剧ず
         cellStyle.setFont(font);   																							//鏍囬鏍峰紡
         cellStyle.setAlignment(center?HSSFCellStyle.ALIGN_CENTER_SELECTION:HSSFCellStyle.ALIGN_LEFT); 						// 灞呬腑
         return cellStyle;

--
Gitblit v1.9.1