大连 做 企业网站网页翻译成中文

张小明 2026/1/11 5:58:01
大连 做 企业网站,网页翻译成中文,公司网站建设业务文案,永嘉做网站方案一#xff1a;封装通用工具类#xff08;推荐#xff09; 这种方式最灵活#xff0c;可以在 Service 层或者 Controller 层显式地调用导出逻辑。 1. 编写 ExcelUtil 工具类 这个类主要负责#xff1a;设置浏览器响应头#xff08;防止中文乱码#xff09;、创建 Exc…方案一封装通用工具类推荐这种方式最灵活可以在 Service 层或者 Controller 层显式地调用导出逻辑。1. 编写 ExcelUtil 工具类这个类主要负责设置浏览器响应头防止中文乱码、创建 Excel Writer 并写入数据。packagecom.example.demo.util;importcom.alibaba.excel.EasyExcel;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;importjava.net.URLEncoder;importjava.util.List;publicclassExcelUtil{/** * 通用导出方法 * * param response HttpServletResponse * param data 导出的数据集合 * param head Excel 表头实体类 * param fileName 文件名不需要包含 .xlsx * param sheetName sheet 名称 */publicstaticvoidexport(HttpServletResponseresponse,List?data,Class?head,StringfileName,StringsheetName){try{// 1. 设置响应类型response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);response.setCharacterEncoding(utf-8);// 2. 设置文件名解决中文乱码问题StringencodedFileNameURLEncoder.encode(fileName,UTF-8).replaceAll(\\,%20);response.setHeader(Content-Disposition,attachment;filename*utf-8encodedFileName.xlsx);// 3. 写入数据到输出流EasyExcel.write(response.getOutputStream(),head).sheet(sheetName).doWrite(data);}catch(IOExceptione){e.printStackTrace();// 如果出错重置 response返回 JSON 错误提示response.reset();response.setContentType(application/json);response.setCharacterEncoding(utf-8);try{response.getWriter().println({\code\: 500, \message\: \导出失败: e.getMessage()\});}catch(IOExceptionex){ex.printStackTrace();}}}}2. 在 Controller 中调用在 Controller 方法参数中注入HttpServletResponse然后调用工具类即可。RestControllerRequestMapping(/excel)publicclassExcelController{GetMapping(/manual-export)publicvoiddownload(HttpServletResponseresponse){// 1. 准备数据 (模拟从数据库查询)ListUserExcelVOlistnewArrayList();list.add(newUserExcelVO(1L,张三,20,newDate(),pwd));list.add(newUserExcelVO(2L,李四,25,newDate(),pwd));// 2. 调用工具类导出// 注意这里不需要返回值因为直接操作了 Response 流ExcelUtil.export(response,list,UserExcelVO.class,用户报表,Sheet1);}}方案二直接在 Controller 中写逻辑适合复杂定制如果你需要极其复杂的导出逻辑例如动态表头、一个文件包含多个 Sheet、根据参数动态合并单元格等封装的工具类可能不够用这时直接写在 Controller 里最合适。GetMapping(/complex-export)publicvoidcomplexExport(HttpServletResponseresponse)throwsIOException{// 1. 设置响应头response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet);response.setCharacterEncoding(utf-8);StringfileNameURLEncoder.encode(复杂报表,UTF-8);response.setHeader(Content-Disposition,attachment;filename*utf-8fileName.xlsx);// 2. 准备数据ListUserExcelVOuserListgetUserData();ListOrderExcelVOorderListgetOrderData();// 3. 使用 ExcelWriter 实现多 Sheet 导出try(ExcelWriterexcelWriterEasyExcel.write(response.getOutputStream()).build()){// Sheet 1: 用户信息WriteSheetwriteSheet1EasyExcel.writerSheet(0,用户信息).head(UserExcelVO.class)// 使用 User 类的注解作为表头.build();excelWriter.write(userList,writeSheet1);// Sheet 2: 订单信息WriteSheetwriteSheet2EasyExcel.writerSheet(1,订单信息).head(OrderExcelVO.class)// 使用 Order 类的注解作为表头.build();excelWriter.write(orderList,writeSheet2);}// try-with-resources 会自动调用 excelWriter.finish()}方案对比方式优点缺点适用场景注解 (AOP)代码极简业务代码完全不感知导出逻辑。逻辑隐蔽灵活性较差难以处理多Sheet、动态表头。标准化的列表导出。工具类 (Util)折中方案。代码复用性高清晰直观。仍需要在 Controller 显式调用。大多数通用业务导出。原生写法最灵活可控制 Excel 的每一个细节。代码冗余每个接口都要写 Response Header 设置。多 Sheet、动态表头、合并单元格等复杂报表。注意事项无论使用哪种非注解方式关键点都是Controller 方法的参数要加上HttpServletResponse response并且方法的返回值建议设为void因为数据是直接写入 HTTP 输出流的不需要 Spring MVC 再去处理返回值。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

绿色电器公司网站psd模板行业平台网站建设

7个AlphaFold预测失败的终极解决方案:从新手到专家的完整指南 【免费下载链接】alphafold 项目地址: https://gitcode.com/gh_mirrors/alp/alphafold 当你满怀期待地运行AlphaFold,准备见证蛋白质结构预测的奇迹时,却看到程序报错或输…

张小明 2026/1/7 20:20:51 网站建设

书画院网站建设企业ci设计

摘要 本文详细介绍基于YOLOv5/v6/v7/v8的布匹缺陷检测系统的完整实现,涵盖数据集准备、模型训练、系统实现和部署应用。布匹缺陷检测在纺织工业质量控制中具有重要应用价值,传统的人工检测方法效率低且容易出错。基于深度学习的自动检测系统能够显著提高检测效率和准确性。本…

张小明 2026/1/8 17:00:10 网站建设

网站开发工程师和前端logo设计哪里做得好

使用Miniconda环境运行BERT模型微调全过程记录 在深度学习项目中,尤其是像 BERT 模型微调这样依赖庞杂、版本敏感的 NLP 任务里,最让人头疼的往往不是模型结构本身,而是“环境配不起来”——明明本地跑得好好的代码,换台机器就报错…

张小明 2026/1/7 20:20:34 网站建设

网站开发合同 下载上海专业建站最低价

在数字化时代,密码安全已成为每个人必须面对的重要课题。根据安全专家的统计,超过80%的数据泄露都源于弱密码或重复使用密码。本文将为您提供一套完整的密码安全解决方案,帮助您快速提升账户安全等级。 【免费下载链接】itpol Useful IT poli…

张小明 2026/1/9 23:16:07 网站建设

成立网站要营业执照吗软件设计方案模板

为什么ES8389编解码器是xiaozhi-esp32项目音频体验的终极解决方案? 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 你是否在为ESP32智能设备寻找完美的音频解决方案&#xff1f…

张小明 2026/1/7 20:20:37 网站建设