CSV数据URI中的换行符未显示



我有一个CSV数据

column1,column2,column3
data1,data2,data3
data1,data2,data3

我把它作为一个Jade变量,它和HTML中的插入字符串一样好,我可以通过数据URI格式中的a链接下载它

var link = document.getElementById('link');
var data = 'column1,column2,column3nrdata1,data2,data3nrdata1,data2,data3';
link.href = 'data:text/csv,' + data;
<a id="link" download="data.csv">download</a>

我使用Javascript在这里插入数据进行演示,但实际上我在服务器端使用Jade:(我认为这没有什么不同。)

a(href="data:text/csv,#{data.replace(/[rn]/, 'rn')}" download="data.csv") Download

问题是换行符不起作用。当我下载文件时,它没有换行符。

事实上维基说

在Mozilla Firefox 5、Google Chrome 17和IE 9(2011年6月发布)中,编码数据不得包含换行符

如果我没有误解的话,这个问题确实说明了这是可能的。

是否真的不可能有数据URI格式的CSV下载换行符,或者有没有我可能错过的方法?

很久以前问了一个很好的问题:)我今天也遇到了这个问题。对我来说,如果我对CSV进行URL编码,它就会起作用。因此换行符";\n〃;和/或";\r〃;变成"%"0A〃;和"%0D";

var link = document.getElementById('link');
var data = 'column1,column2,column3nrdata1,data2,data3nrdata1,data2,data3';
data = encodeURI(data);
link.href = 'data:text/csv,' + data;

最新更新