【问题标题】:Download comma separated stríng as csv将逗号分隔的字符串下载为 csv
【发布时间】:2015-08-19 11:48:47
【问题描述】:

我创建了下面的代码,该代码采用 JSON 对象并将其转换为通过 ConvertToCSV 函数分隔的逗号。那么我的问题是如何获取变量 csvData 并将其下载为 csv 文件?

此代码已经在按钮单击时正在执行的函数中

  var jsonObject = JSON.stringify(data);
  var toCSV = ConvertToCSV(jsonObject);
  var csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(toCSV);

【问题讨论】:

标签: javascript html json csv


【解决方案1】:

使用 blob 将其存储在本地,然后下载。例如

http://jsfiddle.net/koldev/cw7w5/

var saveData = (function () {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    return function (data, fileName) {
        var json = JSON.stringify(data),
            blob = new Blob([json], {type: "octet/stream"}),
            url = window.URL.createObjectURL(blob);
        a.href = url;
        a.download = fileName;
        a.click();
        window.URL.revokeObjectURL(url);
    };
}());

var data = { x: 42, s: "hello, world", d: new Date() },
    fileName = "my-download.json";

saveData(data, fileName);

http://jsfiddle.net/e5ggkkur/1/ 可以在 Firefox 中使用

【讨论】:

  • 是我还是这个小提琴什么都不做,至少在 Firefox 上?
  • @Takendarkk true,但在 firefox 或 ie 中不起作用
  • @Johnny5 试试这个jsfiddle.net/e5ggkkur/1 将在 Firefox 和 chrome 中工作
  • @vijayshiyani 类型应为application/octet-stream,八位字节/流不存在。
猜你喜欢
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多