我知道有很多这样的问题,但我需要使用JavaScript来解决。我使用的是Dojo 1.8,数组中包含所有属性信息,如下所示:
[[“名称1”、“城市名称1”、…][“名称2”、“城市名称2”、…]
知道如何在客户端将此导出到CSV
您可以在本机JavaScript中实现这一点。您必须将数据解析为正确的CSV格式(假设您使用的是问题中描述的数据数组):
常量行=[
[“名称1”、“城市1”、“其他一些信息”],
[“名称2”、“城市2”、“更多信息”]
];
让csvContent=“data:text/csv;charset=utf-8,”;
rows.forEach(函数(rowArray){
让row=rowArray.join(“,”);
csvContent+=行+“\r\n”;
});
或更短的方式(使用箭头函数):
常量行=[
[“名称1”、“城市1”、“其他一些信息”],
[“名称2”、“城市2”、“更多信息”]
];
让csvContent=“data:text/csv;charset=utf-8,”
+rows.map(e=>;e.join(“,”).join(“\n”);
然后您可以使用JavaScript的窗口。打开和encodeURI函数下载CSV文件,如下所示:
var encodedUri=encodeURI(csvContent);
窗口。打开(编码duri);
编辑:
如果您想为文件指定一个特定的名称,您必须做一些不同的事情,因为不支持使用窗口访问数据URI。open方法。为了实现这一点,您可以创建一个隐藏的<;a>DOM节点,并按如下方式设置其download属性:
var encodedUri=encodeURI(csvContent);
var link=document.createElement(“a”);
link.setAttribute(“href”,encodedUri);
setAttribute(“下载”、“我的数据.csv”);
document.body.appendChild(链接);//FF所需
link.click();//这将下载名为“my_data.csv”的数据文件。