我正在使用此代码使用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
,我可以完美地看到字符串而没有这个问题,但在实际文件中,所有这些都搞砸了。
有人可以帮我解决这个问题吗?我不知道为什么会这样或者如何解决它
答案 0 :(得分:0)
使用attachment/csv
作为MIME类型,使用utf-8
作为您的字符集。
var href = 'data:attachment/csv;charset=utf-8,' + csvString;