2017-02-03 18 views
0

JSを使用してusermade HTMLテーブルからCSVファイルを作成しています。これで、作成者のようにファイルに一度だけ追加しなければならない情報や、テーブルの情報(テーブルが関連する年など)が発生します。JSのCSV-Textfileにメタデータを追加

すべての行に冗長な情報を保存したくないので、ヘッダーやファイルのメタデータにいくつかのものを保存するというアイディアを思いつきました。

これは可能ですか?そしてどうやって? それをJavaでもう一度読むことができるはずです。

function csvDownload() { 
    var cna = document.getElementById('usertbl').childNodes; 
    var data = new Array(); 

        for(var i = 0;i<cna.length;i++){ 
         data.push(new Array(cna[i].childNodes[0].innerText, //ArtNr 

            //And so on... Much other stuff as well 

           )); 
         } 

        var csvContent = "data:text/csv;charset=utf-8,"; 
    /*     
    data.forEach(function(infoArray, index){ 
         dataString = infoArray.join(","); 
         csvContent += index < data.length ? dataString+ "\n" : dataString; 
       }); 
       */ 
       var encodedUri = encodeURI(csvContent+$.csv.fromArrays(data)); 
var link = document.createElement("a"); 
link.setAttribute("href", encodedUri); 
link.setAttribute("download", my_data.csv"); 
document.body.appendChild(link); // Required for FF 

link.click(); // This will download the data file named "my_data.csv". 
} 

答えて

0

CSVファイルを格納厳密に表形式のデータ:

今私はかなりジェネリックを持っている(コモンズ-ファイルアップロードを使用したが、私はそれが大きな問題になるとは思いません)。メタデータの概念はないため、おそらくあなたの要件に適したファイル形式ではありません。別のCSVファイルにメタデータを格納することも、メタデータとCSVの両方を格納する「コンテナ形式」を定義することもできますが、代わりにXMLまたはJSONを使用することをお勧めします。

+0

これらのことは明らかに保存されています: 'data:text/csv; charset = utf-8、' - それを拡張する方法はありませんか? – Qohelet

+1

No. https://en.wikipedia.org/wiki/Data_URI_scheme –

関連する問題