在javascript中给出表头文件生成TSV文件

时间:2016-05-12 03:30:37

标签: javascript csv

是否有可能使用javascript在浏览器端生成TSV文件,因为我有一个我想要放在文件中的标题数组?

例如,在我的javascript中我有:

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

我可以创建一个TSV文件,其中包含第一行中的以下内容

field1      field2      field3      field4      field5

并将其保存为" fields.tsv"?

2 个答案:

答案 0 :(得分:2)

您可以Array.prototype.join()使用参数\t\t\tfields个数组值加入单个或多个tab字符;将data URI类型设置为MIME,并将已连接的数组设置为text/tab-separated-values,将window.location.hrefwindow.open()第一个参数设置为data URI以启动{{1}对话框。

修改,更新

如@Eugene所述,将Save File数组传递给fileds以保留制表符

encodeURIComponent()

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

答案 1 :(得分:0)

基于这个post的建议和第二个答案,我已经找到了这个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;
};

感谢您的帮助!