请参阅以下代码以获取更多信息。
function dataToCSVTry(arr) {
var fileName = "CSVFile";
var data = "";
for (var i = 0; i < arr.length; i++) {
data += (arr[i].id + " , " + arr[i].time + "\r\n");
}
var url = 'data:text/csv;charset=utf8,' + encodeURI(data);
window.open(url, '_blank');
window.download = (url + ".txt");
var encodedUri = encodeURI(url);
var link = document.createElement("a");
link.setAttribute("href", encodedUri);
link.setAttribute("download", "my_data.csv");
link.click();
};
`
这是一个函数,我将JSON数据作为输入提供,之后尝试使用for循环将其转换为CSV(逗号分隔值)。 之后,我试图以.txt和.csv格式保存它。由于.txt很容易保存,问题出现在excel文件中,数据如下:
"1%20%2C%20161.963%0A%0D%0A2%20%2C%20473.222%0A%0D%0A3%20%2C%20error%0A%0D%0A"
其中一些代码(我认为)用于空格("%20%2C%20"
),其他一些代码("%0A%0D%0A"
)用于换行符。要以相同的CSV格式创建Excel文件需要做什么?我使用的encodeURI
部分有问题吗?