在this link上,在GAS中准备了一个包含硬编码数据的图表,他们提到您可以从SpreadsheetApp获取数据。
请有人帮助我 - 如何在电子表格的GAS图表中构建数据表(列,行)。
我尝试了以下但未成功
var ss = SpreadsheetApp.openById("myid");
var datatable = ss.getSheetByName("Chart sheet").getRange("A1:H4").getValues();
var chart = Charts.newColumnChart()
.setDataTable(dataTable)
.setRange(0, 40)
.setTitle('Chart')
.setLegendPosition(Charts.Position.BOTTOM)
.setDimensions(600, 300)
.build();
我已将代码用作doGet函数,输出返回以下错误: -
Cannot call overloaded constructor setDataTable with parameters (object) because there is more than one matching constructor signature: interface (class) setDataTable(DataTableBuilder) interface (class) setDataTable(DataTableSource)
答案 0 :(得分:2)
在你的情况下,唯一错误的是你在获得范围后调用getValues(第2行)。要修复它,只需删除getValues()。请参阅下面修改的代码:
var ss = SpreadsheetApp.openById("myid");
var datatable = ss.getSheetByName("Chart sheet").getRange("A1:H4");
var chart = Charts.newColumnChart()
.setDataTable(dataTable)
.setRange(0, 40)
.setTitle('Chart')
.setLegendPosition(Charts.Position.BOTTOM)
.setDimensions(600, 300)
.build();
可以找到API here。