頁面:
先篩選,向後端請求接口返回excel文件,代碼以下:ios
const apiUrl = this.Global.httpUrl + '/laima/export/new/exportTackOutOrder' console.log(this.form) let param = new URLSearchParams(); param.append("startDate", "2019-01-01"); param.append("endDate", "2019-02-01"); this.$axios.post(apiUrl, param,{responseType: 'blob'}).then((res) => { console.log( res.data) const link = document.createElement('a') let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); link.style.display = 'none' link.href = URL.createObjectURL(blob); let num = '' for(let i=0;i < 10;i++){ num += Math.ceil(Math.random() * 10) } link.setAttribute('download', '外賣統計_' + num + '.xlsx') document.body.appendChild(link) link.click() document.body.removeChild(link) })
能夠看到請求返回了一個Blob對象,你若是沒有正確的加上responseType: 'blob’這個參數,返回的就不是個Blob對象,而是字符串了。
而後就自動下載了!
參考 https://blog.csdn.net/liujun03/article/details/84378942axios