js中文件流下载导出excel文件方法

博客探讨了如何从后台获取数据列表并将其导出为Excel文件。两种方法被提出:1) 后台提供Excel文件HTTP地址,前端直接下载,但会浪费服务器资源;2) 后台返回二进制文件流,前端解析并下载,节省服务器资源。文章包含针对这两种情况的解决方案。
摘要由CSDN通过智能技术生成

需求:数据列表导出为excel文件,通过向后台请求接口,返回的结果一般有两种方式:

1. 后台返回excel文件http地址(后台会在服务器生成,前端请求url再下载一遍,浪费服务器资源,优点:前端处理方便)
2. 后台返回二进制文件流(后台不会再服务器生成文件,只需前台进行解析,不占用服务器资源)

代码

1.http地址形式
window.location.href="后台返回的地址"
2.二进制文件流形式

解决方案1

利用js-file-download 插件 
npm install js-file-download  
在用到的时候进行引入 
 
import fileDownload from "js-file-download";

然后调用
fileDownload(res.data, `违法详情${fileName}`);  // res.data为后台返回的二进制流,第二个参数为下载的文件名

最重要的一点:
这里使用axios请求,在header中添加
responseType: "blob" 或者 
responseType: "arraybuffer"
进行解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值