首页 > 解决方案 > Angularjs JSZip 包含 csv 文件

问题描述

请问是否有人知道如何将 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 中。

标签: javascriptangularjsjszip

解决方案


    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 文件,例如

下载.zip -->

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

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


推荐阅读