编程语言
首页 > 编程语言> > Javascript到csv导出编码问题

Javascript到csv导出编码问题

作者:互联网

我需要将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";

它适用于Excel 2013.

Demo Fiddle

标签:export-to-csv,javascript,csv
来源: https://codeday.me/bug/20190919/1812975.html