// 判断是否是ie浏览器
if (!!window.ActiveXObject || "ActiveXObject" in window) {
await this.$axios
.post("/location/exportExcel", this.params, { responseType: "blob" })
.then((res) => {
this.loading = false;
//兼容ie的方法
this.createDownloadDom(res);
});
} else {
await this.$axios
.post("/location/exportExcel", this.params, { responseType: "blob" })
.then((res) => {
let fileName = "查询统计_巡检点位查询" + ".xls";
const url = window.URL.createObjectURL(
new Blob([res.data], { type: "application/octet-stream" })
);
if (res.data) {
this.$message.success("导出成功");
} else {
this.$message.error("导出失败");
}
const link = document.createElement("a");
link.href = url;
link.download = fileName;
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(link.href);
})
.catch(function (error) {});
}
//兼容ie的方法
createDownloadDom(data) {
//创建下载的dom节点
let blob = new Blob([data.data]); //新建blob对象
let fileName = decodeURIComponent("查询统计_巡检点位查询.xls"); //获取文件名
if ("download" in document.createElement("a")) {
//IE下载
let downloadElement = document.createElement("a"); //创建a标签
let href = window.URL.createObjectURL(blob); //创建下载的链接
downloadElement.href = href; //创建下载链接
downloadElement.download = "查询统计_巡检点位查询.xls"; //下载后文件名
document.body.appendChild(downloadElement); //添加到dom中
downloadElement.click(); //点击下载
document.body.removeChild(downloadElement); //下载完成移除元素
window.URL.revokeObjectURL(href); //释放掉blob对象
} else {
//非IE下载
window.navigator.msSaveOrOpenBlob(blob, fileName);
}
},
参考地址链接
https://www.jianshu.com/p/d2fa4f33ee33