1

我在嵌入的堆积柱形图中使用了两个电子表格范围。当我的电子表格更新时,我需要编辑图表范围。本文中提到的技术大部分都有效,但我的“垂直组合范围”和“使用第 1 行作为标题”的图表设置被删除(导致图表出错)。

我查看了 setOptions 的文档,但没有发现任何有用或明显的东西。如何更新我的图表并保留设置?

我的代码:

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var dashboard = ss.getSheetByName("dashboard");
  var data = ss.getSheetByName("data");
  var charts = dashboard.getCharts();
  var builder = charts[0].modify().asColumnChart();
  var ranges = builder.getRanges();

  //remove ranges that might have changed
  for(var i = 0; i < ranges.length; i++)
      builder.removeRange(ranges[i]);

  //add the range used for headers
  builder.addRange(
      data.getRange(1,1,1,data.getLastColumn()));

  //add the range used for data
  builder.addRange(
      data.getRange(data.getLastRow()-10, 1, 10, data.getLastColumn()));

  dashboard.updateChart(builder.build());  
4

1 回答 1

1

我有同样的问题,我在这篇文章中找到了答案:

Google Apps 脚本图表使用第 1 行作为标题

简而言之,如果第一行的格式是纯文本,那么它将用作图表的标题。

为了在您的示例中执行此操作,请添加以下代码行:

data.getRange(1,1,1,data.getLastColumn()).setNumberFormat('@STRING@');
于 2013-10-06T13:18:56.683 回答