首页 > 解决方案 > 如何使用 Ag-Grid 在导出的 excel 单元格中插入链接?

问题描述

我正在使用 ag-grid 在我的角度项目中显示网格数据。在 HTML 中,某些网格单元具有链接。但是当我尝试将网格导出为 excel ( Excel Export ) 时,excel 单元格中的那些链接显示为纯文本。所以,我的问题是如何从 ag-grid 数据在 excel 中插入超链接。

  1. 有什么方法可以在 excel 单元格中插入公式,例如:=HYPERLINK(<link_>, <text_to_show>) 从 ag-grid 导出 excel 时?
  2. 我可以在 excel 单元格中呈现 html,以便可以将链接作为锚元素标签从 ag-grid 插入吗?

Ag-grid 数据(在 HTML 中):

在此处输入图像描述

我希望导出的 excel 中的相同输出也可以单击这些链接。

注意:我正在使用 ag-grid 企业产品。谢谢。

标签: angularag-gridag-grid-angular

解决方案


在导出参数中使用processCellCallback函数来定义您的函数,该函数将在 excel 中创建超链接。

   {
       name: 'Excel Export (.xlsx)',
        action: function () { 
        params.exportMode = 'xlsx',
        params.processCellCallback = customProcessCellCallback
        return grid.exportDataAsExcel(params); 
              }
    },

    customProcessCellCallback = function (cell) {
            var cellVal = cell.value;
            if(check for link condition) {
                //make sure to handle empty undefined and null.
                if (cellVal === "" || cellVal === undefined || cellVal === null) {
                    cellVal = '';
                }
                else{
                cellVal = '=HYPERLINK("your link here","'+cellVal+'")';
                }
            }
            return cellVal;
        }

推荐阅读