我正在使用JS从数据数组生成CSV文件。
下载前的数据是:
var csv =
"Date,valA,valB,valC,valD,AVG
2016-07-01 12:00,393917,211,38534,640,9.78%,
2016-07-01 01:00,342278,171,38131,547,11.14%,
2016-07-01 02:00,265238,168,29395,547,11.08%,";
每一行最后都有一个换行符("\n"
)。
然后我在字符串的开头添加mime类型:
csv = 'data:text/csv;charset=utf-8,' + csv;
,
然后编码&下载:
data = encodeURI(csv);
link = document.createElement('a');
link.setAttribute('href', data);
link.setAttribute('download', filename);
link.click();
一切正常,但在最终文件中由于某种原因有一个空列。
我调查了this question,但它太详细了。我认为这里的解决方案非常简单。
我在这里做错了什么?
答案 0 :(得分:1)
事实证明,每一行在换行符之前都有一个逗号(","
)会导致额外的尾随列。
我所要做的就是确保我的线条以新的线条字符结束。
csv
字符串应为:
var csv =
"Date,valA,valB,valC,valD,AVG
2016-07-01 12:00,393917,211,38534,640,9.78%
2016-07-01 01:00,342278,171,38131,547,11.14%
2016-07-01 02:00,265238,168,29395,547,11.08%";
(注意没有尾随逗号)。