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

如何让Highcharts不显示HTML表格中的最后总计行

问题

我正在使用Highcharts从DataTable中提取数据,当前Highcharts可正常运行,但表格最后一行是“Total(总计)”行,我希望不在图表中展示该行,请问有实现方法吗?


解决方案

有两种简单的实现方式,可根据实际场景选择:

方法一:精准跳过“Total”行

在遍历表格行数据时,判断当前行第一列的内容是否为Total,如果是则直接跳过该行,不将其加入图表数据源。

修改后的完整JS代码:

$(document).ready(function() {

  var allSeriesData = [];
  var categories = [];

  var table = $("#example1").DataTable({
    initComplete: function(settings, json) {
      let api = new $.fn.dataTable.Api(settings);

      // 获取X轴分类(表格表头)
      var headers = api.columns().header().toArray();
      headers.forEach(function(heading, index) {
        if (index > 0 && index < headers.length ) {
          categories.push($(heading).html());
        }
      });

      // 获取表格行数据并处理
      let rows = api.rows().data().toArray();
      rows.forEach(function(row) {
        // 跳过第一列为Total的行
        if (row[0] === 'Total') {
          return;
        }
        group = {
          name: '',
          data: []
        };
        row.forEach(function(cell, idx) {
          if (idx == 0) {
            group.name = cell;
          } else if (idx < row.length ) {
            group.data.push(parseFloat(cell.replace(/,/g, '')));
          }
        });
        allSeriesData.push(group);
      });  
    }
  });

  var myChart = Highcharts.chart("container", {
    chart: {
      type: "column"
    },
    title: {
      text: "Test Data"
    },
    xAxis: {
      categories: categories
    },
    series: allSeriesData
  });

});

方法二:排除最后一行(适合Total固定在末尾的场景)

如果Total行始终是表格最后一行,可直接截取行数组,去掉最后一个元素后再遍历处理:

只需修改行数据获取的代码片段:

// 获取表格行数据并排除最后一行
let rows = api.rows().data().toArray().slice(0, -1);
rows.forEach(function(row) {
  group = {
    name: '',
    data: []
  };
  row.forEach(function(cell, idx) {
    if (idx == 0) {
      group.name = cell;
    } else if (idx < row.length ) {
      group.data.push(parseFloat(cell.replace(/,/g, '')));
    }
  });
  allSeriesData.push(group);
});

方法对比

  • 方法一适用性更广:无论Total行在表格中的位置如何,只要第一列内容是Total就能准确过滤。
  • 方法二更简洁:适合Total行固定在最后的场景,代码改动量更小。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:10:27