javascriptで配列をCSVとして保存・ダウンロード。

javascriptでつくっった配列をCSVとしてダウンロードする方法を紹介します。

 

(1)まず、htmlファイルにおいて、CSVファイルをダウンロードするためのリンクを設置します。

  <a id="download">download</a>

 

(2)そして次にこちらが、配列をCSVに変化する関数です。
contentに配列を指定して実行すると、配列をCSVデータに変換し、そのまま先程設置したaタグにCSVファイルへのリンクを与えます。こうすることで、exportCSVが完了したときにaタグのリンクが有効となり、aタグをクリックするとブラウザ上でCSVをDLできます

 

//execute
var content =  [[1,2,3],[4,5,6],[7,8,9]]
self.exportcsv(content)

//function
function exportcsv(content){
  var finalVal = '';
  for (var i = 0; i < content.length; i++) {
    var value = content[i];

    for (var j = 0; j < value.length; j++) { var innerValue = value[j]===null?'':value[j].toString(); var result = innerValue.replace(/"/g, '""'); if (result.search(/("|,|\n)/g) >= 0)
      result = '"' + result + '"';
      if (j > 0)
      finalVal += ',';
      finalVal += result;
    }
    finalVal += '\n';
  }

  //set csv-data to a-tag on html
  var download = document.getElementById('download');
  download.setAttribute('href', 'data:text/csv;charset=utf-8,' + encodeURIComponent(finalVal));
  download.setAttribute('download', 'test.csv');
}

 

ref: