| | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |