【问题标题】:Angular - Exporting a template CSV file using aG-GridAngular - 使用 aG-Grid 导出模板 CSV 文件
【发布时间】:2018-08-01 00:25:15
【问题描述】:

在我的项目中,我已经创建了一个将当前网格数据导出到 CSV 文件的函数。我还希望能够导出仅包含列定义和 NO 数据的空 CSV 文件,以便用户可以填写数据并自行上传。我已经让上传工作,但现在我正在努力解决感觉应该是一个简单的问题。我找不到创建模板文件的方法。我考虑使用 exportDataAsCsv 函数:

      templateExport() {
        const params = {
          columnKeys: ['Column1', 'Column2', 'Column3', 'Column4'],
          fileName: 'table-template'
        };
        this.gridOptions.api.exportDataAsCsv(params);
      }

我只使用'allColumns:true'正常导出网格数据

我还应该补充一点,我正在导出的列与网格中显示的列不完全相同。出现在网格中的某些列不需要用户输入,因此需要在导出中跳过一些列。

有什么方法可以使用 exportDataAsCsv 导出一个空白模板,该模板会跳过某些列?该网页有多个相似的表格,使用此功能可能会使代码更易于实现。我知道问题可能来自'this.gridOptions。 ...'。由于“此”网格为空,因此没有“数据”可导出。

我对 Angular 不是很有经验,所以如果有一些我想念的更简单的方法来做到这一点,我愿意接受建议。

【问题讨论】:

  • 我很难理解你想要什么。话虽如此,您可能想使用 PapaParse 之类的东西来制作自己的 CSV 文件。然后FileSaver.js 保存生成的 CSV。
  • @thirtydot 我的问题是是否可以使用 ag-grid 的导出功能来导出只有列标题而没有数据的 CSV 文件。

标签: angular typescript ag-grid


【解决方案1】:

@thirtydot 我的问题是关于是否可以使用 ag-grid 的导出功能可导出仅包含列的 CSV 文件 标题和没有数据。

你应该使用shouldRowBeSkipped callback:

gridOptions.api.exportDataAsCsv({
    shouldRowBeSkipped: function(node, api, context) {
        // skip every data row
        return true;
    },
});

(将gridOptions.api 调整为您项目中需要的任何内容)

您还可以使用columnKeys 来控制导出哪些列:

columnKeys: 如果需要,提供列键列表(数组) 导出特定列。
shouldRowBeSkipped:允许您跳过整个 导出的行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 2020-02-04
    • 2020-06-11
    • 1970-01-01
    • 2021-05-07
    • 2019-01-15
    • 2019-04-16
    • 2016-07-21
    相关资源
    最近更新 更多