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

Datatables导出Excel时按<br>分隔符拆分列生成对应多行如何实现

Datatables拆分多value行导出Excel实现方案

核心逻辑

Datatables的Excel导出功能支持自定义导出前的数据预处理,你只需要在导出钩子中把原表格的单行数据,按<br>拆分value生成多条对应数据行,替换原有导出数据即可实现需求。

完整可运行代码

确保已经引入Datatables核心库、Buttons扩展、jszip依赖后,直接使用以下配置:

$('#你的表格ID').DataTable({
  dom: 'Bfrtip',
  buttons: [
    {
      extend: 'excelHtml5',
      text: '导出Excel',
      // 自定义导出数据的核心钩子
      customizeData: function (exportData) {
        const processedRows = [];
        // 遍历原表格所有正文行
        exportData.body.forEach(originalRow => {
          const key = originalRow[0];
          // 按<br>拆分value,兼容大小写、有无斜杠的br写法
          const valueList = originalRow[1].split(/<br\s*\/?>/i);
          // 每个value对应生成一行新数据
          valueList.forEach(val => {
            const cleanedVal = val.trim();
            // 可自行选择是否过滤空value
            if (cleanedVal) {
              processedRows.push([key, cleanedVal]);
            }
          });
        });
        // 替换原有导出数据为处理后的多行数据
        exportData.body = processedRows;
      }
    }
  ]
});

兼容场景调整

  • 如果value实际存储的是换行符而非HTML的br标签,把拆分规则修改为split(/\n|\r\n/)即可
  • 如果表格除了key、value还有其他列需要保留,拆分时把其他列的内容原样复制到每一条新生成的行中即可
  • 表头、表尾内容不受上述逻辑影响,会正常导出

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

相关产品推荐
方舟 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