【问题标题】:Angularjs JSZip to include csv fileAngularjs JSZip 包含 csv 文件
【发布时间】:2019-03-28 08:01:27
【问题描述】:

请问有人知道如何将 csv 文件包含到 JSZip 中吗?我只知道它可以有一个文本文件和图像文件夹。如何在其中包含 csv 文件?

我的csv下载功能:

<a href="" ng-click="download()">Download</a>

        //Javascript
        function jsonToCsv(headingRows, dataRows) {
        var csv = headingRows.join(',') + '\n';
        csv += dataRows.map(function (row, i) {
        return Object.keys(row).sort().map(function (columnKey) {
        return row[columnKey];
        }).join(',');
        }).join('\n');
        return csv;
        };
        $scope.download = function () {
        var csv = jsonToCsv(['ThemeName', 'DataSharing', 'DisplaySetting', 
        'ExpiryDate', 'Icon', 'PusblishDate','QueryName','ThemeName', 
        'ThemeOwner'], 
        community)
        var csvBlob = new Blob([csv], { type: 'text/csv' });
        saveAs(csvBlob, 'data.csv');
        };
        $scope.download1 = function () {
        var csv = jsonToCsv(['ThemeName', 'DataSharing', 'DisplaySetting', 
        'ExpiryDate', 'Icon', 'PusblishDate','QueryName','ThemeName', 
        'ThemeOwner'], sports)
        var csvBlob = new Blob([csv], { type: 'text/csv' });
        saveAs(csvBlob, 'data.csv');
        };

还有JSZip函数:

             $scope.create_zip = function () {
          var zip = new JSZip();
          zip.file("Hello.csv", "Hello World\n");

          zip.generateAsync({type:"blob"})
          .then(function(content) {
              // see FileSaver.js
              saveAs(content, "example.zip");
          });
        }

那么,我现在想问的是,有没有一种方法可以将我拥有的当前 csv 下载功能包含到 JSZip 文件夹中?或任何其他方式让我将 csv 文件包含到 JSZip 中。

【问题讨论】:

标签: javascript angularjs jszip


【解决方案1】:
    let zip = new JSZip();

for (let i = 0; i < 5; i++) {
    var CSV = 'CSV_content ';

    // Fill CSV variable
    zip.file("file" + i + ".csv", CSV);
}
zip.generateAsync({
    type: "base64"
}).then(function(content) {
    window.location.href = "data:application/zip;base64," + content;
});

这里是它在 zip 文件夹中的创建编号 CSV 文件,如

download.zip -->

  • 文件 0.csv,
  • 文件 1.csv,
  • 文件 2.csv

CSV 中给出的任何内容都将显示在 file.csv 中,如果要显示动态 CSV 文件,您需要在后端执行这些操作,因为文件访问权限不存在于客户端。在后端创建 dir 存储 CSV 并在下载完成后删除 dir

【讨论】:

  • 它压缩同一个文件五次。假设我们有不同的文件,我们如何将它压缩到同一个文件夹中??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-14
  • 1970-01-01
  • 1970-01-01
  • 2015-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多