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