簡體   English   中英

Json到Excel文件使用JavaScript轉換

[英]Json to excel file convert using javascript

請找到以下代碼以獲取更多信息。

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字符串創建數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM