Javascript 流星CSV导出

Javascript 流星CSV导出,javascript,csv,meteor,Javascript,Csv,Meteor,我正在尝试使用以下功能将数据导出到CSV function exportHtml(monthNo){ var data = []; data.push('Person;Salary;Workover'); let query = Meteor.users.find().fetch().map(function(u){ var userFirst = u.profile.name_first; var userLast = u.profile.name_last; var currentId

我正在尝试使用以下功能将数据导出到CSV

   function exportHtml(monthNo){
var data = [];
data.push('Person;Salary;Workover');
let query = Meteor.users.find().fetch().map(function(u){
var userFirst = u.profile.name_first;
var userLast = u.profile.name_last;
var currentId = u._id;

try {
var sum = Salaries.findOne({"userId": {$eq: currentId}, "month": {$eq: monthNo}, "year": {$eq: parseFloat(earningFilterYear.get())} } , {sort:{createdAt: -1}}).cost; 
var hours = Salaries.findOne({"userId": {$eq: currentId}, "month": {$eq: monthNo}, "year": {$eq: parseFloat(earningFilterYear.get())} } , {sort:{createdAt: -1}}).over; 
}catch(e){
}

if(!sum)
sum = 0;
data.push('\r\n');
data.push(userFirst+' '+userLast+';'+sum+';'+hours);
});
var link = document.createElement('a');
link.setAttribute('download', "Export_"+monthNo+"_"+earningFilterYear.get()+".csv");
link.setAttribute('href', 'data:text/html;charset=utf-8;' + data);
link.click(); 
Bert.alert('Data exported successfully', 'success' );

};
预期行为

Person;Salary;Workover
Name1;5;15
Name2;12;125
现实(一行,忽略未定义)


似乎即使我有了新行,也没有添加新行\r\n,我也尝试过,但没有成功,此外,由于某些原因,文档中到处都是这些随机逗号。为什么?

data:text/html
更改为
data:text/plain
,并将
data
替换为
data.join(“”)

应该是这样的:

link.setAttribute('href', 'data:text/plain;charset=utf-8,' + data.join(''));

data:text/html
更改为
data:text/plain
并将
data
替换为
data.join(“”)

应该是这样的:

link.setAttribute('href', 'data:text/plain;charset=utf-8,' + data.join(''));

如果我尝试使用data.join(“”),我的google chrome甚至没有下载该文件,这给了我一个网络错误。啊,那可能是因为应该有
而不是
紧跟在
utf-8
之后。很抱歉,我的回答也有这个错误,我现在就来解决。有用的链接:很遗憾,同样的问题,即使使用分号,到底是哪个问题?如果我尝试使用数据。join(“”)我的google chrome甚至没有下载该文件,给了我一个网络错误。啊,那可能是因为应该有
而不是
紧跟在
utf-8
之后。很抱歉,我的答案也有这个错误,我现在就修复它。有用的链接:遗憾的是,相同的问题,即使有分号,到底是哪个问题?