vue 導出excel 亂碼


經過小女子的不懈努力,終於解決了。

1.第一步:axios 接口請求的一定要傳 ,下圖僅供參考

responseType: 'blob'

 2.調用接口

  看后台返回的是二進制流還是blob對象

  (1)是二進制流需要用   new Blob([res.data], {type: 'application/octet-stream'});

  轉化成 Blob對象

  (2)那就方便了直接使用

3.拿到文件就開始下載了

 let url = window.URL.createObjectURL(res.data);
            console.log(blob)
            var a = document.createElement("a");
            document.body.appendChild(a);
            a.href = url;
            a.download ="aaa.xls";
            a.click();
            window.URL.revokeObjectURL(url);

  

  按正常情況已經完成了,開心開心,但是事情總是 出其不意,OMG。下載下來的文件竟然打不開,內心。。。

經過很長時間的查找與百度最后終於發現了關鍵地方。

敲黑板 vue項目中使用了mock模擬數據 導致responseType: 'blob'無效,把mock模式關閉完美 perfect!

 

以上內容是工作中遇到的問題,如有不妥記得留言哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM