我添加上下文菜单并将导出重新分配给 csv 和 Excel - 我需要为某些列导出使用 valueFormatter。
导出工作正常,但是在我运行导出到 xml,然后运行导出到 Excel 之后 - 我得到了 xml 文件。
它只发生在这里 - 因为我使用 getContextMenuItems。其他表使用标准上下文菜单工作正常。
菜单:
getContextMenuItems = (() => {
const self = this;
return (param) => {
const menu = [
'copy',
'copyWithHeaders',
'paste',
'separator',
{
name: 'Export',
subMenu: [
{
name: 'csvExport',
action: () => {
self.gridApi.exportDataAsCsv({
processCellCallback: (params) => {
if (params.column.getColDef().valueFormatter) {
const valueFormatterParams: ValueFormatterParams = {
...params,
data: params.node.data,
// tslint:disable-next-line:no-non-null-assertion
node: params.node!,
colDef: params.column.getColDef()
};
return params.column.getColDef().valueFormatter(valueFormatterParams);
}
return params.value;
},
});
}
},
{
name: 'excelExport',
action: () => {
self.gridApi.exportDataAsExcel({
processCellCallback: (params) => {
if (params.column.getColDef().valueFormatter) {
const valueFormatterParams: ValueFormatterParams = {
...params,
data: params.node.data,
// tslint:disable-next-line:no-non-null-assertion
node: params.node!,
colDef: params.column.getColDef()
};
return params.column.getColDef().valueFormatter(valueFormatterParams);
}
return params.value;
},
});
}
},
'excelXmlExport'
]
}
];
return menu;
};
})();
例如:https ://plnkr.co/edit/ysaS5IJzOwvVacRb
- 运行导出到 Excel(格式化) - 获取 xlsx
- 运行导出到 xml - 获取 xml
- 运行导出到 Excel(格式化) - 获取 xml 而不是 xlsx