【发布时间】:2020-07-27 23:04:24
【问题描述】:
我想将 ag-grid 的数据复制到带有格式的剪贴板。 我可以复制没有格式/样式的数据。
ag-grid 中是否提供该功能,以便我也可以复制数据格式。 我正在 ag-grid(angular) 中尝试将日期粘贴到 excel 中。
最好的问候, 卡莱姆
【问题讨论】:
标签: ag-grid-angular
我想将 ag-grid 的数据复制到带有格式的剪贴板。 我可以复制没有格式/样式的数据。
ag-grid 中是否提供该功能,以便我也可以复制数据格式。 我正在 ag-grid(angular) 中尝试将日期粘贴到 excel 中。
最好的问候, 卡莱姆
【问题讨论】:
标签: ag-grid-angular
如果您指的是能够使用“html 样式和格式”复制值,这在 agGrid 中是不可能的,并且不一定有用,因为您会将 HTML 代码粘贴到 Excel 中。
您可以阅读此处了解如何在导出时实现 Excel 样式:https://www.ag-grid.com/javascript-grid-excel/
您可以使用 gridOptions 方法 processCellForClipboard 自行准备数据,但要导出。
但是,如果您像我一样想简单地从列的 ValueFormatter 访问数据,下面是我能够实现此目的的唯一方法:
processCellForClipboard = (params: ProcessCellForExportParams) => {
let colDef:ColDef = params.column.getColDef();
if (colDef.valueFormatter){
return colDef.valueFormatter({
...params,
data: params.node?.data,
colDef: colDef
} as ValueFormatterParams);
}
return params.value;
};
这个想法是,使用 ValueFormatter 来格式化您希望在网格中显示的值。这样,在从网格中复制值时,您至少可以将值格式化为正确的字符串。
干杯
【讨论】: