news 2026/5/6 0:35:04

使用阿里的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/5/3 4:40:57

手把手教你训练个性化语音:Linly-Talker语音克隆教程

手把手教你训练个性化语音&#xff1a;Linly-Talker语音克隆教程 在短视频、虚拟主播和AI助手日益普及的今天&#xff0c;你是否想过——只需一张照片和几秒钟的声音片段&#xff0c;就能创造出一个会说话、有表情、用你声音发声的“数字分身”&#xff1f;这不再是科幻电影的情…

作者头像 李华
网站建设 2026/5/2 21:36:26

短视频创作者福音:Linly-Talker批量生成口播内容

短视频创作者福音&#xff1a;Linly-Talker批量生成口播内容 在抖音、快手、B站等内容平台日更压力越来越大的今天&#xff0c;许多创作者都面临一个共同的困境&#xff1a;创意不缺&#xff0c;时间不够。一条高质量的口播视频&#xff0c;从写稿、录音、拍摄到剪辑&#xff0…

作者头像 李华
网站建设 2026/5/1 17:12:16

Linly-Talker能否生成脱口秀演员形象表演段子?

Linly-Talker 能否生成脱口秀演员形象表演段子&#xff1f; 在短视频和直播内容爆炸式增长的今天&#xff0c;观众对“新鲜感”的需求从未如此强烈。一个段子讲完&#xff0c;如果下一句还是熟悉的语气、同样的节奏&#xff0c;用户可能已经划走了。于是&#xff0c;越来越多创…

作者头像 李华
网站建设 2026/5/1 10:49:08

19、Windows Vista 网络协作与文件同步冲突处理指南

Windows Vista 网络协作与文件同步冲突处理指南 1. 处理文件同步冲突 在 Windows Vista 系统中,当同步离线文件时,可能会遇到文件在网络共享和离线计算机上都发生了更改的情况。此时,同步中心图标会显示“已发生同步冲突”的消息。以下是解决同步冲突的具体步骤: 1. 点击…

作者头像 李华
网站建设 2026/5/1 7:26:41

31、Windows Vista 中 IIS 7 的使用与网站搭建指南

Windows Vista 中 IIS 7 的使用与网站搭建指南 在 Windows 操作系统中,互联网信息服务(IIS)是一项重要的功能,它允许用户在本地搭建网站。本文将详细介绍在 Windows Vista 中使用 IIS 7 搭建和管理网站的相关内容。 1. IIS 7 相较于 IIS 5.1 的优势 如果你之前在 Window…

作者头像 李华
网站建设 2026/5/2 20:57:03

15、优化你的WordPress主题:打造个性化博客的全面指南

优化你的WordPress主题:打造个性化博客的全面指南 在当今数字化的时代,拥有一个独特且吸引人的博客至关重要。许多人喜欢自己博客的主题,但总希望通过一些小改动让它变得更加完美。幸运的是,WordPress提供了丰富的功能,让你可以对主题进行各种调整,而且大多数调整都非常…

作者头像 李华