首页 文章

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

提问于
浏览
0

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

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

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

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

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

我对Angular并不是很有经验,所以如果有一些更简单的方法可以做到这一点,那我就错过了,我愿意接受建议 .

1 回答

  • 0

    @thirtydot我的问题是,是否可以使用ag-grid的导出功能导出仅包含列 Headers 且没有数据的CSV文件 .

    你应该使用shouldRowBeSkipped callback

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

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

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

    columnKeys:如果要导出特定列,请提供列键列表(数组) . shouldRowBeSkipped:允许您从导出中跳过整行 .

相关问题