Json到excel文件的转换使用javascript

Json to excel file convert using javascript

本文关键字:javascript 转换 excel 文件 Json      更新时间:2023-09-26

有关详细信息,请查找以下代码。

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部件有问题吗?

数据url内容不是URI编码的,而是base-64编码的。您应该使用btoa或类似的解决方案从您构建的CSV字符串创建数据。