vue.js純前端處理如何將后台返回來的csv數據導出成csv文件


需要實現一個下載csv文件的功能,但后台沒有對這個下載文件進行處理,而是將csv數據傳給前台而已,需要前台做一下處理。

 

這是按鈕的代碼:

 <a> <el-button size="mini" class="custom-confirm" @click="downloadByPeople()" type="primary">下載執行人工時表</el-button></a> 

通過異步請求獲得的后台json返回數據是這樣的格式:

 

 

只需要以下步驟就可以實現純vue.js下載csv文件的功能:

 1  downloadByPeople(){

3 this.$http.FileGet(this.pageParams).then(res => { 4 const url = this.genUrl(res.data.data.workhour_csv_data, {});//{}指的是表頭,res.data.data.workhour_csv_data是后台返回來的數據 5 const a = document.createElement('a'); 6 a.href = url; 7 a.download = "工時統計文件.csv"; 8 a.click(); 9 window.URL.revokeObjectURL(url); 10 }); 11 },

 

1   genUrl(encoded, options) {
2       const dataBlob = new Blob([`\ufeff${encoded}`], { type: 'text/plain;charset=utf-8' });//返回的格式
3       return window.URL.createObjectURL(dataBlob);
4     },

 


免責聲明!

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



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