我在嵌入式堆积柱形图中使用了两个电子表格范围。我需要在更新电子表格时编辑图表范围。 this article中提到的技术大多有效,但我的图表设置“垂直组合范围”和“将第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());
答案 0 :(得分:1)
我遇到了同样的问题,我在这篇文章中找到了答案:
Google Apps Script Chart Use row 1 as headers
简而言之,如果第一行的格式是纯文本,那么它将用作图表的标题。
为了在您的示例中执行此操作,请添加以下代码行:
data.getRange(1,1,1,data.getLastColumn()).setNumberFormat('@STRING@');