如何在vue.js中创建CSV文件

lsmd5eda  于 2023-05-11  发布在  Vue.js
关注(0)|答案(1)|浏览(187)

我尝试在vue.js中创建CSV文件。服务器发送readyment数据,我们可以直接将数据写入csv文件。来自服务器响应的数据是

head1, head2, head3, head4
1,2,3,4
5,6,7,8

这是我从服务器的响应格式。我想写这个数据在CSV格式,并给予下载CSV功能。
有没有关于在vue.js中创建和编写文件的想法?

gcuhipw9

gcuhipw91#

我用javascript找到了答案。
下面是我的javascript函数用于下载csv

downloadCSV(jsonData){
    const arr = typeof jsonData !== 'object' ? JSON.parse(jsonData) : jsonData;
    const str = `${Object.keys(arr[0]).map((value) => `${value}`).join(',')}\r\n`;
    const csvContent = arr.reduce((st, next) => {
      st += `${Object.values(next).map((value) => 
        `${value}`).join(',')}\r\n`;
         return st;
      }, str);
    const element = document.createElement('a');
    element.href = `data:text/csv;charset=utf8,${encodeURI(csvContent)}`;
    element.target = '_blank';
    element.download = 'export.csv';
    element.click();    }

数据的值是CSV格式的数据

col1, col2, col3
row1-value1, row1-value2, row1-value3

相关问题