You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular-Slickgrid使用ExportToExcel导出时如何去除HTML标签

解决方案

一、内置配置实现(推荐)

Angular-Slickgrid的Excel导出功能自带HTML内容清洗配置,无需额外自定义代码:

  1. 首先在gridOptions中开启导出功能并配置全局清洗规则:
this.gridOptions1 = {
  enableAutoResize: false,
  enableSorting: true,
  enableAsyncPostRender: true,
  // 新增导出相关配置
  enableExcelExport: true,
  exportOptions: {
    sanitizeDataExport: true // 开启后导出时自动剔除所有单元格内容中的HTML标签,仅保留纯文本
  }
};
  1. 如果不需要全局生效,仅针对特定列(如你的title列)处理,可在对应列定义中添加exportCustomFormatter单独配置,优先级高于全局配置。

二、自定义实现方案

如果内置清洗规则不满足你的业务需求,可以自定义HTML剥离逻辑实现:

  1. 先实现一个通用的HTML标签剥离工具函数:
private stripHtml(htmlStr: string): string {
  if (!htmlStr) return '';
  // 用DOMParser处理更稳妥,可避免正则匹配遗漏的场景
  const dom = new DOMParser().parseFromString(htmlStr, 'text/html');
  return dom.body.textContent?.trim() || '';
}
  1. 在需要处理的列定义中绑定自定义导出格式化方法:
this.columnDefinitions1 = [
  { 
    id: 'title', 
    name: 'Title', 
    field: 'title', 
    sortable: true, 
    asyncPostRender: this.renderAngularComponent.bind(this),
    // 导出时调用自定义方法处理内容
    exportCustomFormatter: (rowIndex, colDef, cellValue) => this.stripHtml(cellValue)
  },
  // 其余列定义保持不变
];

内容的提问来源于stack exchange,提问作者user7880397

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:06:03