Vue 文件流形式导出文件

先看下效果

 下面就是主要代码了

<a-button type="primary" @click="exportClick()">导出</a-button>

其中编码格式要一致,我这里是UTF-8,后端可能是GBK等其他格式。

exportClick() {
			this.$axios
				.get("", {                        //这里写上请求地址
					params: {},
					responseType: "blob"
				})
				.then(res => {
					console.log(res);
					const blob = new Blob([res], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8" });
					const fileName = "专利统计" + new Date().getTime() + ".xls";
					const elink = document.createElement("a"); // 创建a标签
					elink.download = fileName; // 为a标签添加download属性 // a.download = fileName; //命名下载名称
					elink.style.display = "none";
					elink.href = URL.createObjectURL(blob);
					document.body.appendChild(elink);
					elink.click(); // 点击下载
					console.log(elink.href);
					URL.revokeObjectURL(elink.href); // 释放URL 对象
					document.body.removeChild(elink); // 释放标签
				});
		},

如果是post请求,其余部分一样

    this.$axios.post(
						'',    //你的地址
						{
							...this.params    //你的参数
						},
						{
							//定义类型
							headers: {
								'Content-Type': 'application/x-www-form-urlencoded'
							},
							responseType: 'blob'
						}
					)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值