ag-grid 使用格式/样式功能复制到剪贴板

kal*_*eem 2 ag-grid-angular

我想将 ag-grid 的数据复制到剪贴板并格式化。我可以复制没有格式/样式的数据。

ag-grid 是否提供此功能,以便我也可以复制数据格式。我正在 ag-grid(Angular) 中尝试将日期粘贴到 Excel 中。

最好的问候,卡利姆

小智 6

如果您指的是能够使用“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;
 };
Run Code Online (Sandbox Code Playgroud)

这个想法是,使用 ValueFormatter 按照您希望在网格中显示的方式设置值的格式。这样,您至少可以在从网格复制值时将其格式化为正确的字符串。

干杯