我有CSV数据
column1,column2,column3
data1,data2,data3
data1,data2,data3
我将它作为一个Jade变量,它与HTML中的整数插值字符串一样好,我可以通过数据URI格式的a
链接下载
var link = document.getElementById('link');
var data = 'column1,column2,column3\n\rdata1,data2,data3\n\rdata1,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(/[\r\n]/, '\r\n')}" download="data.csv") Download
问题是换行符不起作用。当我下载文件时,它没有换行符。
实际上wiki说
This another question,如果我没有误解,请说明这是可能的。
是否真的无法以数据URI格式提供CSV下载换行符,还是有可能错过的方式?
答案 0 :(得分:0)
很久以前问的一个很好的问题:)我今天也遇到了这个问题。对我来说,如果我对CSV进行URL编码,则可以使用。这样换行符“ \ n”和/或“ \ r”就变成了“%0A”和“%0D”
var link = document.getElementById('link');
var data = 'column1,column2,column3\n\rdata1,data2,data3\n\rdata1,data2,data3';
data = encodeURI(data);
link.href = 'data:text/csv,' + data;