条件
后台返回流类型数据
001
axios 响应的类型也为 流类型
002
-
axios 官网
003
请求的方式 get post 都可以,这里用 post做示范
- 在请求的接口里面 把默认的 responseType:'json' 改为 responseType:'arraybuffer'
exportExcel(params){ // 导出电子表格
return axios({url: '/daodan/order/excel',method: 'post',data:params, responseType:'arraybuffer',});
},
- 在页面中使用
async handleExport({date}){ // 导出表格
let startTime = this.handleTime(date[0]);
let endTime = this.handleTime(date[1]);
let params = {startTime,endTime}; // 传递的参数
let res = await common({that:this,api:'exportExcel',params,_type:"导出",});// 封装的方法
if(res){
let blob = new Blob([res],{type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'});
let objectUrl = URL.createObjectURL(blob);
let a = document.createElement("a");
a.href = objectUrl;
a.download = `流水${startTime}至${endTime}`;
a.click();
this.handleShowPops();
}
},