项目使用的axios这里一axios为例
首先在发起请求前的设置:
const ajax = axios.create({responseType:"arraybuffer"})
设置responseType类型,如果不设置下载的excel会乱码
然后处理返回的数据
let res = //你要发起请求的接口
let blob = new Blod([res.data],{type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})
const BlobUrl = window.URL.createObjectURL(blob)
let a = document.createElement('a')
//a.download = fileName // 如若需要自定义文件名则加上这句
a.href = BlobUrl
a.click()
URL.revokeObjectURL(blobUrl)
document.body.removeChild(a)
//最后销毁URL和移除a标签