2016-05-12 2 views
1

javascriptを使用して、ファイルに挿入するヘッダーの配列がある場合、ブラウザ側でTSVファイルを生成することは可能ですか?例えばJavaScriptで表のヘッダーを指定してTSVファイルを生成

、私は私のJavaScriptで:

var fields = ["field1", "field2", "field3", "field4", "field5"]; 

私は最初の行に、次の

field1  field2  field3  field4  field5 

と「fields.tsv」として保存が含まれているTSVファイルを作成することができます?あなたは、単一または複数のtab文字fields配列の値を結合するために、パラメータ\tまたは\t\tArray.prototype.join()を使用することができます

答えて

1

MIMEタイプがtext/tab-separated-valuesに設定され、結合された配列が連結されたdata URIを使用する場合は、data URIwindow.location.hrefまたはwindow.open()の最初のパラメータを設定してSave Fileダイアログを開始します。 @Eugeneによって示されるよう

更新

編集は、提案からベースタブ文字

var fields = ["field1", "field2", "field3", "field4", "field5"]; 
 
var tsv = fields.join("\t"); 
 
window.location.href = "data:text/tab-separated-values," + encodeURIComponent(tsv);

plnkr http://plnkr.co/edit/ehfbwS4UWdLiM350rx1i?p=preview

+1

'' 'encodeURIComponent(tsv)' ''を追加して、タブがはぎ取られないようにしてください。 – Eugene

+0

@Eugene最新の記事を参照してください。 – guest271314

0

を保存するencodeURIComponent()に結合fileds配列を渡しますこの012の2番目の答え私はこれに来ましたplunkr解決方法。 :)

function createFile() { 
    var fields = ["field1", "field2", "field3", "field4", "field5"]; 
    var tsv = fields.join("\t"); 
    var generatedFile = makeTextFile(tsv); 
    var link = document.getElementById('downloadLink'); 
    link.href = generatedFile; 
}; 

ありがとうございました!

+0

'text/tab-separated-values'ファイルを作成する必要がある場合、なぜ' download'属性値を '.txt'に設定しますか? – guest271314

+0

生成された 'tsv'ファイルはMicrosoft Excelで開かれ、Excelはタブ区切りのファイルを' .txt'拡張子で保存します。そのため、一貫性のために '.txt'として保存しています。 – moja

関連する問題