在Google电子表格中获取嵌入式图表损坏了吗?

时间:2019-07-18 22:56:30

标签: google-apps-script charts google-sheets

在工作表对象上使用.getCharts()方法时,遇到了“服务错误:电子表格(第55行,文件“代码”)”错误。

我正在尝试通过API在Google表格中创建图表,然后将其作为概念证明在代码中重新获取,但我仍然会获取错误。我可以验证是否在下面的代码块中正确创建了图表,但是使用该.getCharts()方法时会出现问题。这是代码:

  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Plot");
  var chartBuilder = sheet.newChart();
  var inputRange = sheet.getRange("B2:B50");
  chartBuilder.setChartType(Charts.ChartType.LINE).setOption('title', 'My Line Chart!').setPosition(5, 5, 0, 0).addRange(inputRange);
  sheet.insertChart(chartBuilder.build());
  var sheetID = sheet.getCharts()[0].getId();
  Logger.log(sheetID);

这里可能是什么问题?

2 个答案:

答案 0 :(得分:0)

我认为您遇到问题的原因是图表创建不正确。在您的脚本中,inputRange不用于chartBuilder。因此,在这种情况下,创建的图表没有数据。这样,我认为会发生这种错误。

为了避免这种情况,如何进行修改?

发件人:

chartBuilder.setChartType(Charts.ChartType.LINE).setOption('title', 'My Line Chart!').setPosition(5, 5, 0, 0);

收件人:

chartBuilder.setChartType(Charts.ChartType.LINE).setOption('title', 'My Line Chart!').setPosition(5, 5, 0, 0).addRange(inputRange);

注意:

  • 在运行脚本之前,请删除现有的图表。因为在您的脚本中使用了sheet.getCharts()[0]并检索了第一个索引的图表。

参考文献:

如果这不能解决您的问题,我深表歉意。

答案 1 :(得分:0)

我通过在浏览器(Firefox)中启用Flash插件解决了“服务错误:电子表格”。 Dunno为什么,但是可以。