Google apps script 有没有一种方法可以使用脚本生成GoogleSheets图表的.jpg图像?

Google apps script 有没有一种方法可以使用脚本生成GoogleSheets图表的.jpg图像?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,在GoogleSheets中,我有一个带有按钮的选项卡,它调用一个脚本来做一些事情并生成一个图表。我想在脚本的末尾添加一段代码,生成并下载生成的图表的图像 在图表的右上角有一个选项可以这样做,所以我录制了一个宏,但并没有生成任何内容 找不到这样做的方法。有线索吗 谢谢这将把png图像放入谷歌文档: function chartImage() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActive

在GoogleSheets中,我有一个带有按钮的选项卡,它调用一个脚本来做一些事情并生成一个图表。我想在脚本的末尾添加一段代码,生成并下载生成的图表的图像

在图表的右上角有一个选项可以这样做,所以我录制了一个宏,但并没有生成任何内容

找不到这样做的方法。有线索吗


谢谢

这将把png图像放入谷歌文档:

function chartImage() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()
  var chart = sheet.newChart()
  .setChartType(Charts.ChartType.BAR)
  .addRange(sheet.getDataRange())
  .setPosition(5, 5, 0, 0)
  .setOption("title", "Dynamic Chart")
  .build();
  sheet.insertChart(chart);
  var img=sheet.getCharts()[0].getBlob().getAs('image/png');
  var doc=DocumentApp.openById('Doc Id');
  doc.getBody().appendImage(img);
}

此代码将获取保存在驱动器中的图像,并将URL放在电子表格中的一个单元格中:

function downloadChart() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("Range where the chart is located");
 // Get chart and save it into your Drive
  var chart = sheet.getCharts()[0];
  var file = DriveApp.createFile(chart.getBlob());
  // Set url in one cell and resize the column 
  sheet.getRange(23, 1).setValue(file.getUrl())
  sheet.autoResizeColumn(1);
}
当你点击按钮时,作为一个直接下载的解决方法,我建议你查看帖子

文件

对于以HTML格式呈现的图表,有一种获取图像的方法