Javascript 流星CSV导出
我正在尝试使用以下功能将数据导出到CSVJavascript 流星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
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
之后。很抱歉,我的答案也有这个错误,我现在就修复它。有用的链接:遗憾的是,相同的问题,即使有分号,到底是哪个问题?