1. 使用axios请求后端接口(注意设置responseType:"blob")
axios({
method:"get",
url:process.env.VUE_APP_BASE_API +"/FireCodeApp/ExportInUser",
params:this.listQuery,
headers:{
"X-Token":localStorage.getItem("X-Token")
},
responseType:"blob"
})
请求成功后返回数据如图
2. 创建一个<a>链接,设置类型为download,配置导出文件名称和后缀,下载文件
axios({
method:"get",
url:process.env.VUE_APP_BASE_API +"/FireCodeApp/ExportInUser",
params:this.listQuery,
headers:{
"X-Token":localStorage.getItem("X-Token")
},
responseType:"blob"
}).then(res=>{
console.log("excel",res);
let fileName = "进出山人员统计导出" + new Date().getTime() + ".xls";
const elink = document.createElement('a')
elink.download = fileName;
elink.style.display = 'none'
elink.href = URL.createObjectURL(res.data)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
})