我使用浏览器端的javascript(Chrome窗口)
从网页生成并下载CSVfunction toCsv(arr){
return arr.reduce(function(csvString, row){
csvString += row.join(',') ;
csvString += "\r\n"; //";";//"\n";
return csvString;
}, '');
}
function flowDataCsv(){
document.location = 'data:Application/octet-stream,' + toCsv(flowDataGrid);
}
我尝试用“;”,“\ r \ n”和“\ n”来划分行,但所有三个结果都是csv:s,它们将导入到一行而不是网格中。我应该如何终止行以获得excel以将其识别为行结束并开始在新行上插入数据?
答案 0 :(得分:9)
不确定您是否仍需要这个问题的答案。但是,当我遇到同样的问题时,我会发布解决方案。
使用上面的代码,你唯一缺少的就是编码你的toCsv函数返回的csv字符串。在上面的代码中看起来像这样:
function toCsv(arr){
return arr.reduce(function(csvString, row){
csvString += row.join(',') ;
csvString += "\r\n"; //";";//"\n";
return encodeURIComponent(csvString);
}, '');
}
function flowDataCsv(){
document.location = 'data:Application/octet-stream,' + toCsv(flowDataGrid);
}
希望这有助于将来再次遇到此问题的任何人!
答案 1 :(得分:0)
尝试用\u2028
代替\n
来代替\u2029
或\r
。
src:https://github.com/zemirco/json2csv/issues/91#issuecomment-276555551