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

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

 

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

<br />
  &lt;a id=&quot;download&quot;&gt;download&lt;/a&gt;<br />

 

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

 

<br />
//execute<br />
var content =  [[1,2,3],[4,5,6],[7,8,9]]<br />
self.exportcsv(content)</p>
<p>//function<br />
function exportcsv(content){<br />
  var finalVal = '';<br />
  for (var i = 0; i &lt; content.length; i++) {<br />
    var value = content[i];</p>
<p>    for (var j = 0; j &lt; value.length; j++) { var innerValue = value[j]===null?'':value[j].toString(); var result = innerValue.replace(/&quot;/g, '&quot;&quot;'); if (result.search(/(&quot;|,|\n)/g) &gt;= 0)<br />
      result = '&quot;' + result + '&quot;';<br />
      if (j &gt; 0)<br />
      finalVal += ',';<br />
      finalVal += result;<br />
    }<br />
    finalVal += '\n';<br />
  }</p>
<p>  //set csv-data to a-tag on html<br />
  var download = document.getElementById('download');<br />
  download.setAttribute('href', 'data:text/csv;charset=utf-8,' + encodeURIComponent(finalVal));<br />
  download.setAttribute('download', 'test.csv');<br />
}</p>
<p>

 

ref: