花了 5 分钟就搞定了 Java 下载和解析 Excel

本文介绍了如何使用阿里巴巴的EasyExcel库在Java Spring Boot应用中快速实现Excel模板下载、上传和解析。通过简单的代码示例,展示了如何设定请求下载模板,上传已填写的模板,以及下载解析后的内容。整个过程在5分钟内即可完成。
摘要由CSDN通过智能技术生成

先看再点赞,给自己一点思考的时间,微信搜索【果汁简历】公众号,获取更多内容。 本文 GitHub
https://github.com/juice-resume/java-programming.git 已收录,里面还有一线大厂整理的面试题,以及我的系列文章

工欲善其事必先利其器,果然有道理,之前经常做一些 Excel 的解析和写入,大家估计也对 jxl 和 poi 有所耳闻,操作起来那是一塌糊涂,需要了解里面的各种变量,然而这次我们使用的是阿里开源的 EasyExcel,5分钟搞定下载和上传解析。

我们写代码之前先说一下我们模拟的场景,我们需要使用 EasyExcel 实现文章的批量上传和下载。

  1. 访问 /template 可以下载要上传的模板
  2. 访问 /upload 把填写好的模板上传
  3. 访问 /download 下载之前上传的内容

话不多说直接上代码,文末可以获取全部代码。代码运行的环境是 Spring Boot,所以具体的 Spring Boot 搭建细节我们就不说了,直接从引入 EasyExcel 开始。

1.引入依赖

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

2. 下载模板

如果需要上传 Excel,势必需要提前准备好模板,那么这点 EasyExcel 做的更简洁,我们直接上代码。定义一个 download 请求,设置 application/vnd.ms-excel 为了返回内容后直接可以作为 excel 文件下载。下面才是重点。

  • EasyExcel.write 是设置具体需要映射的对象到返回的流
  • EasyExcel.sheet 设置具体的 sheet 名字
  • EasyExcel.doWrite 写入具体的内容,也是 write 里面对应的 Article 对象的列表。
EasyExcel
  .write(response.getOutputStream(), Article.class)
  .sheet("模板")
  .doWrite(new ArrayList());
@GetMapping("tempalte")
public void tempalte(HttpServletResponse response) throws IOException {
   
    response.setContentType("application/vnd.ms-excel");
    response.setCharacterEncoding("utf-8");
    String fileName = URLEncoder.encode("文章模板", "UTF-8");
    response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值