news 2026/6/10 9:25:00

使用阿里的EasyExcel根据模板进行Excel导出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用阿里的EasyExcel根据模板进行Excel导出

JDK17、Springboot2.7.18、EasyExcel4.0.3

1、引入EasyExcel依赖

<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>4.0.3</version> </dependency>

2、创建Excel模板,并使用{ .变量名}进行占位(只进行了简单的表单头复杂同样用法)

学生表中数据

3、把Excel模板放入项目resources目录下

4、代码测试

@RestController public class ExcelController { @Autowired private JdbcTemplate jdbcTemplate; @GetMapping("/export") @Operation(summary = "导出Excel") @SneakyThrows public void exportByTemplate(HttpServletResponse response) { // 查询出学生信息数据 String sql="select id,name,age,address from student"; List<Student> students = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(Student.class)); // 定义导出文件名(不含 .xlsx) String fileName = "学生信息"; // 对中文文件名进行 URL 编码(必须!否则浏览器会乱码或变成 download.xlsx) String encodedFileName = URLEncoder.encode(fileName, "UTF-8") .replaceAll("\\+", "%20"); // 兼容空格(虽然你名字里没空格,但习惯加上) // 设置响应头:告诉浏览器“这是一个附件,请用指定名字下载” response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment;filename=" + encodedFileName + ".xlsx"); ServletOutputStream out = response.getOutputStream(); // 文件模板输入流,将 excel 模板放到 resources 目录下 InputStream templateFile = getClass().getClassLoader() .getResourceAsStream("template/学生信息导出模板.xlsx"); ExcelWriter writer = EasyExcel .write(out) .withTemplate(templateFile) .build(); WriteSheet sheet = EasyExcel.writerSheet().build(); // 填充配置,开启组合填充换行 FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); // 填充列表占位符 writer.fill(students, fillConfig, sheet); //填充完成 writer.finish(); } }

5、启动服务,访问接口进行测试

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:12:53

Linly-Talker推理速度优化:TensorRT加速实战记录

Linly-Talker推理速度优化&#xff1a;TensorRT加速实战记录 在虚拟主播、智能客服等数字人应用场景中&#xff0c;用户早已不再满足于“能动”或“会说话”的初级交互体验。真正的挑战在于——如何让数字人像真人一样自然流畅地对话&#xff1f; 这背后的核心瓶颈不是模型能力…

作者头像 李华
网站建设 2026/6/10 13:11:23

30、网络故障排查与网站搭建全攻略

网络故障排查与网站搭建全攻略 在网络使用过程中,我们难免会遇到各种问题,从网络连接不畅到网站搭建的难题。本文将详细介绍网络故障排查的方法,包括有线网络和无线网络,同时也会讲解如何在 Windows Vista 系统上搭建网站。 网络故障排查 网关与远程主机测试 首先对默认…

作者头像 李华
网站建设 2026/6/10 13:08:23

34、优化与管理FTP站点:全面指南

优化与管理FTP站点:全面指南 在搭建和管理FTP站点时,有许多实用的技巧和调整方法可以提升站点的性能、安全性和用户体验。以下将详细介绍这些操作。 1. 停止FTP站点 若你希望FTP站点仅在特定时间可用,或者要对站点进行重大更改,可以通过IIS 6管理器停止该站点。具体步骤…

作者头像 李华
网站建设 2026/6/10 11:30:28

35、网络技术术语全面解析

网络技术术语全面解析 1. 网络地址转换相关 cone NAT :一种网络地址转换类型。当具有特定内部地址的客户端使用某个端口时,所有外部主机都可以通过该端口,经由外部地址与客户端进行通信。可对比对称NAT理解。 NAT(网络地址转换) :路由器将传入互联网数据中指定的公共…

作者头像 李华
网站建设 2026/6/10 14:52:19

3、WordPress博客搭建与设置全攻略

WordPress博客搭建与设置全攻略 1. WordPress.com博客仪表盘与管理栏介绍 WordPress.com博客的仪表盘是信息中心,其各个模块能让你了解博客当前和过往的活动情况,还能添加博客内容。新用户使用时,WordPress会提供介绍文字和视频。 - 访问仪表盘 :WordPress.com用户可通…

作者头像 李华
网站建设 2026/6/10 14:51:15

Linly-Talker在科技馆科学实验演示中的应用

Linly-Talker在科技馆科学实验演示中的应用 在一座热闹的科技馆里&#xff0c;孩子们围在展台前&#xff0c;仰头看着屏幕上的“讲解员”——一位面带微笑、声音温和的虚拟科学家。她不仅流畅地讲述着光的折射原理&#xff0c;还能实时回应孩子们五花八门的问题&#xff1a;“黑…

作者头像 李华