From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送

---
 src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java |   38 +++++++++++++++++++++++++++-----------
 1 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java b/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
index 09bae54..0ddb529 100644
--- a/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
+++ b/src/main/java/org/springblade/modules/discuss/controller/UserTopicsController.java
@@ -169,18 +169,34 @@
 		ExcelUtil.export(response, "投票人员" + DateUtil.time(), "投票人员数据表", list, UserTopicsExcel.class);
 	}
 
+	/**
+	 * 导出Excel文件的方法。
+	 * 该方法用于将用户主题数据导出为Excel格式,供用户下载。
+	 *
+	 * @param response 用于设置HTTP响应,包括内容类型和文件名等信息。
+	 * @param userTopics 包含要导出的数据的用户主题视图对象。
+	 * @return 该方法不返回任何内容,而是将数据直接输出到HTTP响应的输出流中。
+	 */
 	@GetMapping("/exportDataIndex")
-	public void exportExcel(HttpServletResponse response,UserTopicsVO userTopics) {
-		try (OutputStream out = response.getOutputStream()) {
-			response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
-			response.setCharacterEncoding("utf-8");
-			String fileName = URLEncoder.encode("投票人员", "UTF-8").replaceAll("\\+", "%20");
-			response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-			userTopicsService.handleExcel(out,userTopics);
-			out.flush();
-		} catch (Exception e) {
-			logger.error(e.getMessage(),e);
-		}}
+	public void exportExcel(HttpServletResponse response, UserTopicsVO userTopics) {
+	    try (OutputStream out = response.getOutputStream()) {
+	        // 设置响应的内容类型为Excel文件
+	        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+	        // 设置响应的字符编码为UTF-8
+	        response.setCharacterEncoding("utf-8");
+	        // 编码文件名,并替换+号为%20,以兼容URL下载
+	        String fileName = URLEncoder.encode("投票人员", "UTF-8").replaceAll("\\+", "%20");
+	        // 设置响应头,指示浏览器以附件形式下载文件,并设置文件名
+	        response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+	        // 调用服务层处理Excel数据的写入
+	        userTopicsService.handleExcel(out, userTopics);
+	        // 刷新输出流
+	        out.flush();
+	    } catch (Exception e) {
+	        // 记录异常信息
+	        logger.error(e.getMessage(), e);
+	    }
+	}
 
 
 }

--
Gitblit v1.9.3