我需要将 javascript 数组导出到 excel 文件并下载它,我正在使用这段代码执行此操作。 data 是一个 javascript 对象数组。
var csvContent = "data:text/csv;charset=utf-8,";
data.forEach(function(dataMember, index)
{
dataString = dataMember.join(",");
csvContent += index < data.length ? dataString+ "\n" : dataString;
});
var encodedUri = encodeURI(csvContent);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "upload_data" + (new Date()).getTime() + ".csv");
link.click();
在我拥有包含非英语字符(如西类牙语、阿拉伯语或希伯来语)的字符串属性之前,所有这些都可以正常工作。我如何导出所有这些非 ASCII 值?
最佳答案
您应该在文本的开头添加 UTF-8 BOM,例如:
var csvContent = "data:text/csv;charset=utf-8,%EF%BB%BF" + encodeURI(csvContent);
它适用于 Excel 2013。
关于Javascript 到 csv 导出编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19492846/