news 2026/6/26 0:06:41

使用阿里的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/26 2:18:48

Linly-Talker容器化部署:Docker镜像快速启动教程

Linly-Talker容器化部署&#xff1a;Docker镜像快速启动教程 在直播带货、AI客服、虚拟讲师等场景中&#xff0c;数字人正从科幻概念变为现实生产力。但构建一个能“听懂、回应、说话、动嘴”的完整对话系统&#xff0c;往往意味着要整合语音识别&#xff08;ASR&#xff09;、…

作者头像 李华
网站建设 2026/6/25 9:04:03

21、Windows Vista 安全设置全解析

Windows Vista 安全设置全解析 1. 用户账户控制(UAC)理解 在 Windows 系统中,管理员拥有对计算机的最高权限,他们可以进行诸如安装程序、添加设备、更新驱动、安装补丁、更改注册表设置以及运行管理工具等操作。然而,这些操作也存在潜在风险。一旦恶意软件进入计算机,它…

作者头像 李华
网站建设 2026/6/26 6:50:54

22、保障Windows系统安全:全方位防护指南

保障Windows系统安全:全方位防护指南 在当今数字化时代,计算机安全至关重要。无论是个人用户还是企业用户,都面临着各种安全威胁,如间谍软件、电子邮件病毒、网络钓鱼诈骗等。本文将为你详细介绍如何利用Windows系统的相关功能和工具,有效防范这些安全威胁,确保你的计算…

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

24、Windows网络与无线安全设置全攻略

Windows网络与无线安全设置全攻略 一、Windows本地安全策略设置 1.1 强制登录时间到期注销策略 在Windows系统中,为了增强安全性,我们可以设置强制登录时间到期注销策略。具体操作步骤如下: 1. 按下Windows徽标键 + R(或者选择“开始” - “所有程序” - “附件” - “…

作者头像 李华
网站建设 2026/6/25 7:14:54

4、搭建 WordPress.org 博客全攻略

搭建 WordPress.org 博客全攻略 一、通过主机自动安装 WordPress 如果你选择的网络主机支持自动安装 WordPress,那么可以在一分钟内将所有必要的 WordPress 文件安装到目录的正确位置。具体步骤如下: 1. 登录到你的网络主机并进入其控制面板,点击 WordPress 的链接。 - 如…

作者头像 李华
网站建设 2026/6/26 8:42:15

6、WordPress博客设置与内容创作全攻略

WordPress博客设置与内容创作全攻略 1. 写作设置 写作设置会影响博客文章的撰写方式,还能设置默认的博客文章类别。可通过点击左侧菜单栏“设置”中的“写作”进入写作设置页面。 1.1 写作设置详情 设置项 说明 文章框大小 设置“新建文章”页面可见的文本行数,默认值…

作者头像 李华