Google Apps脚本无法从EmbeddedChartBuilder生成图像

时间:2015-12-01 22:59:06

标签: google-apps-script google-sheets

我有一个带有自定义脚本的Google电子表格,该脚本已经运行了一年多,但它突然开始失败。

重现问题非常简单,但我不知道发生了什么。 我在电子表格中的单元格范围内创建了一个简单的图表:

var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Sheet1");
var chart = sheet.newChart()
     .setChartType(Charts.ChartType.LINE)
     .addRange(sheet.getRange("A1:D4"))
     .setPosition(5, 5, 0, 0)
     .build();

我尝试从EmbeddedChart创建一个图像:

sheet.insertImage(chart.getBlob(),6,1);

说不出来

  

[服务错误:电子表格(行xx,文件“”)]

很奇怪,我试图解决它,如果我将生成的图表插入到工作表中然后尝试从图表中创建图像,它实际上是有效的:

   var temp = ss.insertSheet();
   temp.insertChart(chart);
   var charts = temp.getCharts();
   sheet.insertImage(charts[0].getBlob(),6,1);

我非常困惑,我不知道可能是什么问题。 问题是我有多个电子表格,其中有多个脚本运行相同代码的某些变体,并且它们都会出现相同的错误。 所以改变它们中的每一个都使用临时表是很多工作。

我创建了issue 5549 in the issue tracker,但没有人回复 所以我不知道该怎么做。

有什么我想念的吗? 有人可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这是由于Spreadsheets中的一个错误 - 它现在正在修复。如果您避免尝试从图表创建Blob,您将暂时避免此问题。