2

我正在尝试在 Google Sheet 中创建一个自定义菜单,以允许我将当前 Google Sheet 文件中所有工作表中的所有图表下载到 PNG 图像中,使用图表标题作为图像名称,保存到我的 Windows PC 的默认下载目录中。

我打算在 Python 中使用 Google Sheet API 来做,发现了这个问题,答案基本上说我可以用 Google Apps Script 来做。

我找到了一个Google Apps Scripts 示例,解释了如何将图表导出到幻灯片中,但不知道如何将图表下载为 PNG 文件。

这甚至可能吗?

如果是的话,谁能指出我正确的方向?谢谢!

4

1 回答 1

2

方法:

您可以使用函数从文档中获取图表,使用函数getCharts()将它们转换为图像,getAs()然后从 Google Drive 获取链接。

片段

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var chart = sheet.getCharts()[0];

  // create a proxy slide
  var proxySlide = SlidesApp.create("proxySlide");
  var proxySaveSlide = proxySlide.getSlides()[0];
  var chartImage = proxySaveSlide.insertSheetsChartAsImage(chart);

  // Get image from slides
  var myimage = chartImage.getAs('image/png');
  var url = DriveApp.createFile(myimage).getUrl();

  // delete the proxy slide
  DriveApp.getFileById(proxySlide.getId()).setTrashed(true);

  return url;
}

参考

斑点类

于 2020-04-29T07:56:39.820 回答