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     },

 

相关文章

问题背景 最近小伙伴提了一个希望提高后台下拉列表可操作性的...
// n位随机数生成 function randomNum(n) { let sString = &...
HTML是HyperText Markup Language的简称,中文名称:超文本标...
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现...
JavaScript 是脚本语言,是一种解释性脚本语言(代码不进行预...
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网...