easypoi + spring boot + vue 实现 导出并下载 excel
2019-11-19 23:08:10
开发中,导出 excel 是经常会遇到的,如果你使用 spring 框架,那么 easypoi 再适合不过了,它是对 Apache POI 的封装,但是使用起来却非常简单,唯一的缺点是包有点大,二十 M 左右,可能 Apache POI 本身就比较大吧,具体不清楚。
spring boot 集成 easypoi
由于有 easypoi-spring-boot-starter 所以集成非常简单,在你的 pom 文件里新增:
至于版本号,你可以在 https://mvnrepository.com/artifact/cn.afterturn/easypoi-spring-boot-starter 查看最新版本。 然后,我们新建一个类,比如 VisitRecordModel.java 大致代码如下:
然后 新建一个 EasyPoiUtil 类,代码如下:
|
|
这里的 download 方法支持 下载 中文的文件名哦,前提是你用 get 请求来下载,即 controller 层用 get 请求即可。调用如下:
|
|
这里,传入 model 的 class 类型 以及 一个 list 数组,这个数组包含若干个 model 即可。如果使用 post 请求,那么 vue 部分代码需要修改,请求结束后,将返回保存为 blob 然后下载,即请求结束后代码如下:
|
|
请求部分的代码也需要修改,具体如下:
如果请求部分代码不这样写,下载下来的 excel 会乱码哦,主要是 responseType 和 headers 吧!
最后更新于