Springboot 指定自定义模板导出Excel文件
前言
之前写过一篇极其简单的excel导入导出,是单个文件的:
Springboot 最简单的结合MYSQL数据实现EXCEL表格导出及数据导入_小目标青年的博客-CSDN博客
还写过一篇单个,多个 excel文件导出,转成ZIP包的:
Springboot 导出Excel文件,多个需要压缩成 zip 包_小目标青年的博客-CSDN博客
然后:
于是该篇就来了, 指定模板(自定义)导出数据,就像:
正文
开始实战:
pom.xml依赖:
<!-- 导入和导出--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>3.0.3</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-web</artifactId><version>3.0.3</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-annotation</artifactId><version>3.0.3</version></dependency>
我们导出数据的实体类 UserExcelDTO.java
import cn.afterturn.easypoi.excel.annotation.Excel;/*** @Author: JCccc* @Date: 2022-7-14 10:58* @Description:*/
public class UserExcelDTO {@Excel(name = "学号", height = 8, width = 13, isImportField = "true")private Integer id;@Excel(name = "姓名", height = 8, width = 13, isImportField = "true")private String userName;@Excel(name = "年龄", height = 8, width = 13, isImportField = "true")private String userAge;@Overridepublic String toString() {return "User{" +"id=" + id +", userName='" + userName + '\'' +", userAge='" + userAge + '\'' +'}';}public UserExcelDTO() {}public UserExcelDTO(Integer id, String userName, String userAge) {this.id = id;this.userName = userName;this.userAge = userAge;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserAge() {return userAge;}public void setUserAge(String userAge) {this.userAge = userAge;}
}
里面使用了 @Excel注解标记一下相关字段
然后自定义模板, 注意里面细节:
每一行数据都是一个对象,都在list 里面,
所以看到 首个字段 和 末尾最后的字段 是有 括号的 {}:
示例格式:
{{$fe: list t.id
t.userName
t.userAge}}
然后把自定义模板文件丢到 静态资源路径下:
然后是实现使用自定义模板,填充list数据导出excel文件:
/*** excel导出 列表 指定模板** @return*/@GetMapping(value = "/exportAssignTemplateExcel")public void opportunityExport(HttpServletResponse response) {List<UserExcelDTO> exportList = new ArrayList<>();UserExcelDTO userExcel1=new UserExcelDTO(1001,"JCccc","18");UserExcelDTO userExcel2=new UserExcelDTO(1002,"ACccc","29");UserExcelDTO userExcel3=new UserExcelDTO(1003,"GCccc","50");exportList.add(userExcel1);exportList.add(userExcel2);exportList.add(userExcel3);Map map = Maps.newHashMap();map.put("list", exportList);//获取导出模板地址ClassPathResource classPathResource = new ClassPathResource("static/export/template/MyUserTemplate.xlsx");String path = classPathResource.getPath();TemplateExportParams templateExportParams1 = new TemplateExportParams(path);Workbook wb = ExcelExportUtil.exportExcel(templateExportParams1, map);String time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy_MM_dd_HH_mm_ss"));String fileName = "用户数据"+time+".xlsx";try {response.setContentType("application/octet-stream;charset=utf-8");response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8"));response.flushBuffer();wb.write(response.getOutputStream());} catch (IOException e) {e.printStackTrace();}}
代码简析:
调用一下接口,看看效果:
excel文件内容:
好了,该篇就到这。
Springboot 指定自定义模板导出Excel文件相关推荐
- Springboot 自定义模板导出Excel文件
指定模板(自定义)导出数据,就像: 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 记得加$ 注意: 模板这里有个小坑,就是当传入的值为数组时,需要 ...
- poi -- 上传、自定义模板导出excel文件插入到数据库
===maven文件=== <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi ...
- springboot中使用poi导出excel文件(亲测实现了第一个功能)
1.POI简介 Jakarta POI 是一套用于访问微软格式文档的Java API. 组件HWPF用于操作Word的; 组件HSSF用于操作Excel格式文件. 2.常用组件 HSSFWorkboo ...
- java poi导出excel模板_POI通过模板导出EXCEL文件的实例
一般的EXCEL导出使用POI先创建一个HSSFWorkbook,然后通过不断创建HSSFRow,HSSFCell后设置单元格内容便可以完成导出. 这次在项目中需要用到模板,导出的内容包括(1.模板中 ...
- Vue+iview实现自定义格式导出Excel文件
背景:项目中要实现一个导出Excel文件模板的功能,原来实现是通过后台生成然后前端请求下载,这样要消耗IO资源,然后看了一下之前项目的导出功能,发现原来Vue+iview可以实现本地数据导出,不过iv ...
- EasyExcel根据自定义模板导出Excel(包含图片、表格)
使用EasyExcel根据模板导出excel,包含图片.表格 提示:其实使用EasyExcel根据模板导出一个excel并不难,难点在于指定图片的位置 文章目录 使用EasyExcel根据模板导出ex ...
- 基于easypoi实现自定义模板导出excel
项目中需要做一个统计报表功能,实现各种Excel报表数据导出.要求表头能够动态配置,表数据通过存储过程实现,也要求能够动态配置. 技术选型: 由于之前在项目中使用过easypoi,相对于原生apach ...
- thinkphp6 生成下载动态Excel模板,导出excel文件
1,安装 phpexcel composer require phpoffice/phpexcel 安装成功后,vendor文件夹下会有phpoffice文件夹 2,common.php 中加入导出e ...
- .Net Core 读取Excel 模板 导出 Excel 文件
var exportTemplatePath = "./Template/cxtemplate.xlsx";var newName = $"xxx进度表汇总-{Syste ...
最新文章
- macOS 的头文件隐藏这么深
- python小课骗局-谈谈学风变python小课感想,菜鸟表示真的挺简单
- 构建Android的交叉编译器、用NDK编译移植
- Raspberry Pi 2 Model B Pi4J 示例
- win7mysql免安装版安装_win7下MySQL免安装版下载安装、配置与使用
- 前端学习(604):编程语言
- 分布式系统中,权限设计实践
- ubuntu16.04备份和恢复系统
- CVPR 2019 Oral | 华科开源效果超群的人体姿态迁移算法
- 详解C#防访问修饰符:public,private,protected,internal
- Android工程的目录说明
- WebService学习总结(5)——WebService常见开发框架比较
- Windows Azure Storage (5) Windows Azure Drive
- [知识竞赛策划方案] 【图】关于知识竞赛抢答器的问题
- MongoDB复制集全量同步改进
- SpringBoot+Nacos 配置中心 + 服务注册与发现
- 怎么注册微软云服务器,如何创建和部署云服务(经典) | Microsoft Docs
- 关于百度搜索引擎优化的常见问题
- 让老师们哭笑不得的天才学生们
- 小鹿妹眼中的三亚。告诉你怎么玩三亚