【问题标题】:Highcharts remove column defined by keys from export to CSVHighcharts 将键定义的列从导出到 CSV 中删除
【发布时间】:2021-03-30 08:58:30
【问题描述】:

我使用series.keys 控制数据集中每个点的marker.enabled - 类似于keys: ['x','y','marker.enabled'],数据看起来类似于[[1609459200,10,false], [1609459200,20,true]...]

问题是 - 导出到 CSV 时 - 我现在将所有 3 个键作为列而不是只获取 Y 数据 - title(x), title(y), title(marker.enabled)

我知道我可以将 data 从数组数组更改为对象数组,摆脱 keys 并实现相同 - 但我仍然想知道是否有一个选项可以保留键但只导出 Y好像键是undefined

我尝试在exporting.chartOptions 中将keys 覆盖为未定义,但它似乎不会影响CSV。

有什么简单的方法吗? 谢谢。

编辑: 带有示例的 jsfiddle https://jsfiddle.net/3f4a1xdo/
虽然它并没有真正导出 - 该表显示了导出为 CSV 时的外观。注意keys 如何使表格包含Temperature(x),它是DayTemperature(Y) 的副本。如果您注释掉 keys 行,表格会很好地显示,而不会触及实际数据。

【问题讨论】:

  • 你能用示例数据在一些在线编辑器上重现你的问题吗?
  • @SebastianWędzel 添加了
  • 这是您想要实现的输出吗? jsfiddle.net/BlackLabel/thLdm5er
  • @SebastianWędzel 感谢您的帮助!几乎 - 您的小提琴仍然将 (y) 键附加到值列(因此标题也显示为多行)。我只希望列具有系列名称 - 只是温度,好像根本没有使用键
  • 设置 exporting.useMultiLevelHeaders 给出想要的输出 - jsfiddle.net/BlackLabel/9b2vezc7 让我知道这是否是您问题的正确答案 - 如果是这样,我会将其添加为官方答案

标签: csv highcharts export


【解决方案1】:

根据 cmets - 这个问题有一个最终解决方案:

删除一列:

H.addEvent(H.Chart, 'exportData', function(e) {
  e.dataRows.forEach(function(el) {
    el.splice(1, 1);
  });
});

编辑表格标题:

csv: {
  columnHeaderFormatter: function(item, key) {
    if (item.isXAxis) {
      return 'Category'
    } else {
      return item.name
    }
  }
}

演示:https://jsfiddle.net/BlackLabel/5zthymxg/

API:https://api.highcharts.com/highcharts/exporting.csv.columnHeaderFormatter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多