angular - Angular - 使用 aG-Grid 导出模板 CSV 文件
问题描述
在我的项目中,我已经创建了一个将当前网格数据导出到 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 不是很有经验,所以如果有一些我想念的更简单的方法来做到这一点,我愿意接受建议。
解决方案
@thirtydot 我的问题是是否可以使用 ag-grid 的导出功能来导出只有列标题而没有数据的 CSV 文件。
您应该使用shouldRowBeSkipped
回调:
gridOptions.api.exportDataAsCsv({
shouldRowBeSkipped: function(node, api, context) {
// skip every data row
return true;
},
});
(调整gridOptions.api
到您项目中需要的任何内容)
您还可以columnKeys
用来控制导出哪些列:
columnKeys
:如果要导出特定列,请提供列键列表(数组)。
shouldRowBeSkipped
:允许您从导出中跳过整行。
推荐阅读
- android - 当用户持有项目时,在回收站视图中展开和折叠项目
- templates - 所有模板内容的集合
- python - 正则表达式删除
- python - 如何将一个数组中的元素数据匹配到另一个数组中的索引
- angular - How to access property in item from a ngFor loop?
- python - Python用可变参数实现抽象方法并满足linter
- spss - 如何创建一个循环通过日期和唯一客户 ID 的指标?
- c++ - 如何使用 memoization 将此回溯代码更改为动态编程代码?
- sql - SELECT 列表中两次与 jsonb_array_elements_text() 不一致的结果
- mongodb - 无法作为副本连接到 mongodb