From 40249b1a7a339f2e07079b79a273718b58cf89af Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 16 十二月 2025 16:40:51 +0800
Subject: [PATCH] 【丽水】随访统计导出中文乱码问题修复
---
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 30 ++++++++----------------------
1 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
index ac4dd92..c81ec58 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -1449,19 +1449,6 @@
}
/**
- * 鍒ゆ柇鏄惁涓轰綆鐗堟湰娴忚鍣�
- *
- * @param request 娴忚鍣ㄨ姹傚ご
- * @return
- */
- public static boolean isLowVersionBrowser(HttpServletRequest request) {
- String userAgent = request.getHeader("User-Agent");
- return userAgent.contains("msie")
- || userAgent.contains("Trident")
- || userAgent.contains("Edge");
- }
-
- /**
* 璁剧疆瀵煎嚭Excel鏂囦欢鍚嶇О
* @param response 杩斿洖鏁版嵁
* @param request 娴忚鍣ㄨ姹傚ご
@@ -1472,16 +1459,15 @@
//浼氭竻绌哄搷搴旂紦鍐插尯鐨勫唴瀹癸紝纭繚鍚庣画杈撳嚭涓嶄細鍙楀埌涔嬪墠鏁版嵁鐨勫奖鍝�
response.reset();
// 瀹氫箟娴忚鍣ㄥ搷搴旇〃澶达紝椤哄甫瀹氫箟涓嬭浇鍚�
- if (isLowVersionBrowser(request)) {
- fileName = URLEncoder.encode(fileName, "UTF8") + ".xlsx";
- response.setHeader("Content-Disposition",
- "attachment;filename=" + fileName);
- } else {
- response.setHeader("Content-Disposition",
- "attachment;filename=" + new String((fileName + ".xlsx").getBytes("gb2312"), "ISO8859-1"));
- }
+ fileName = fileName + ".xlsx";
+ // 瀵规枃浠跺悕杩涜URL缂栫爜锛屾敮鎸佷腑鏂囨枃浠跺悕
+ String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replaceAll("\\+", "%20");
+ // 浣跨敤 filename* 鍙傛暟鏀寔 UTF-8 缂栫爜锛圧FC 5987锛夛紝鍚屾椂淇濈暀 filename 鍙傛暟鍏煎鏃ф祻瑙堝櫒
+ response.setHeader("Content-Disposition", "attachment; filename=\"" + encodedFileName +
+ "\"; filename*=utf-8''" + encodedFileName);
// 瀹氫箟涓嬭浇鐨勭被鍨嬶紝鏍囨槑鏄痚xcel鏂囦欢
- response.setContentType("application/vnd.ms-excel");
+ response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+ response.setCharacterEncoding("utf-8");
}catch (Exception e){
log.error("{}璁剧疆瀵煎嚭Excel鏂囦欢鍚嶇О寮傚父,{}", fileName, e.getMessage());
}
--
Gitblit v1.9.3