Angular-使用aG-Grid导出模板CSV文件

时间:2018-07-30 11:58:25

标签: angular typescript ag-grid

在我的项目中,我已经创建了一个函数,该函数会将当前的网格数据导出到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的经验不是很丰富,因此,如果缺少一些更简单的方法来实现此功能,我欢迎您提出建议。

1 个答案:

答案 0 :(得分:0)

  

@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:让您跳过整个   导出中的行。