电子表格数据中的GAS柱形图

时间:2013-12-11 10:38:09

标签: google-apps-script google-spreadsheet-api

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)

1 个答案:

答案 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