在javascript生成csv excel导入的换行符

我使用JavaScript在浏览器端生成并从网页下载CSV(Chrome窗口)

function 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导入到一行而不是网格。 我应该如何终止行来获得excel来识别它作为行结束,并开始插入数据在一个新的行?

不知道你是否仍然需要这个问题的答案。 但是,当我遇到同样的问题时,会发布我find的解决scheme。

使用上面的代码,你唯一缺less的是编码你的tocsv函数返回的csvstring。 这在你的代码中看起来像这样:

 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); } 

希望这有助于任何人在未来再次遇到这个问题!