带有javascript的CSV在下载时会删除空格

时间:2017-10-13 17:58:42

标签: javascript csv

我正在使用此代码使用javascrip使用jSONcrip作为源数据创建和下载CSV文件

var csvRows = [];
//Title for csv columns
csvRows.push('ID,Date,Name');

//cicle for array of JSON
for(i=0;i<this.leads.length;i++;{
    //leads is the name of the array
    csvRows.push(leads[i].ID+','+leads[i].Date+','+leads[i].Name); 
}
var csvString = csvRows.join("%0A");
var a         = document.createElement('a');
a.href        = 'data:attachment/csv,' + csvString;
a.target      = '_blank';
a.download    = 'ReporteLeads.csv';
a.click();

问题是,当文件被下载时,所有空格字符都会被删除,而á,é,í,ó,úñ之类的字符会更改为é。如果我创建console.log()变量的csvString,我可以完美地看到字符串而没有这个问题,但在实际文件中,所有这些都搞砸了。

有人可以帮我解决这个问题吗?我不知道为什么会这样或者如何解决它

1 个答案:

答案 0 :(得分:0)

使用attachment/csv作为MIME类型,使用utf-8作为您的字符集。

var href = 'data:attachment/csv;charset=utf-8,' + csvString;