网站首页 > 博客文章 正文
导出可通过poi,hutool,easyexcel的工具等,今天分享alibaba封装工具EasyExcel中 ExcelWriter的用法
1、pom导入easyexcel引用,版本根据自己项目切换
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.4</version>
</dependency>
2、controller 正常写,文件流写到response即可
@GetMapping("/downloadTemp")
public void downloadTemp(HttpServletResponse response) throws IOException {
configService.downloadTemp(response);
}
3、service 是重点
@Override
public void downloadTemp(HttpServletResponse response) throws IOException {
//读取 excel目录下标签导入模板.xlsx 模板文件
String fileName = "导入模板.xlsx";
// 设置响应头
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + URLEncoder.encode(fileName, "UTF-8") + "\"");
// 使用EasyExcel将数据写入到响应的输出流
ExcelWriter excelWriter = null;
try {
// 获取模板文件的输入流
InputStream templateInputStream = new ClassPathResource("excel/导入模板.xlsx").getStream();
// 创建一个ExcelWriter实例,用于写入到响应的输出流
excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(templateInputStream).build();
log.info("下载模板成功");
} catch (IOException e) {
e.printStackTrace();
response.reset();
log.error("下载模板失败");
} finally {
// 关闭ExcelWriter
if (excelWriter != null) {
excelWriter.finish();
}
}
}
注:header 设置导出文件名称要转码,否则报错
此代码可通过try with resources方式优化,可自行修改
4、文件存放在工程 resources下,excel 文件夹中,如图:
5、最最最重要的:pom 增加maven 插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<!--不加这一行,xlsx文件会被过滤,然后在maven build的时候,去target下看对应的xlsx就是损坏的-->
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
注:<nonFilteredFileExtension>xlsx</nonFilteredFileExtension> 包含在 <nonFilteredFileExtensions> 里面,网上好多资源都是错的
------------------分割线----------------------
以上是本次分享
猜你喜欢
- 2024-09-09 jww基于springboot+dubbo分布式架构
- 2024-09-09 超实用的第三方开发工具库及开源项目
- 2024-09-09 基于springboot+dubbo分布式架构(spring boot+dubbo)
- 2024-09-09 软开企服开源的JVS开发套件(V2.1.3)产品说明书
- 2024-09-09 高效编程Hutool工具分析:Hutool设计方案与使用案例(第二部分)
- 2024-09-09 国内最火的几款Java开源项目(java最流行的开源软件)
- 2024-09-09 基于springboot+dubbo分布式架构jww
- 2024-09-09 只改了五行代码接口吞吐量提升了10多倍
- 2024-09-09 SpringBoot+Dubbo+Zookeeper+Redis+MQ分布式快速开发平台源码
- 2024-09-09 半个月收获接近 1k 的点赞!你需要的开源项目都在这里
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)