Export() { //导出 this.exportLoadings = true; let url = api.api7 + "/JD/ExportJDList";//请求数据的地址 let params = {}//请求的参数 for(let k in this.filterData){ params[k] = this.filterData[k] } params.PageSize = this.pageparm.total; axios.post( url, params, { responseType: "blob" },//设置返回值为二进制 { headers: { "Access-Token": localStorage.getItem("Token") } } ) .then((response) => { this.exportLoadings = false; let filename = ""; filename = "京东团检订单列表" + ".xlsx"//设置导出的表格的名称和文件后缀名 let blob = new Blob([response.data]);//创建二进制文件 let downloadElement = document.createElement("a");//创建a标签 let href = window.URL.createObjectURL(blob); //创建下载的链接 downloadElement.href = href; downloadElement.download = filename; //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(href); //释放掉blob对象 }) .catch((error) => { this.exportLoadings = false; console.log(error); }); },
上图为接口返回的数据
标签:表格,导出,filename,href,let,blob,downloadElement,params From: https://www.cnblogs.com/Ma-YuHao/p/16895629.html