我试图在 Google Sheet 中创建一个自定义菜单,以允许我将当前 Google Sheet 文件中所有工作表中的所有图表下载到 PNG 图像中,使用图表标题作为图像名称,保存到我的 Windows PC 的默认下载目录中。
我打算使用 Google Sheet API 在 Python 中完成此操作,结果发现这个问题 https://stackoverflow.com/questions/51250096/google-sheets-api-v4-downloading-saving-charts,答案基本上是说我也许可以用 Google Apps Script 来做到这一点。
我找到了一个Google Apps 脚本示例 https://codelabs.developers.google.com/codelabs/apps-script-fundamentals-5/#3解释如何将图表导出到幻灯片中,但无法弄清楚如何将图表下载为 PNG 文件。
这可能吗?
如果是,有人可以指出我正确的方向吗?谢谢!
方法:
您可以使用以下功能从文档中获取图表getCharts()
,用函数将它们转换成图像getAs()
然后从 Google Drive 获取链接。
Snippet
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;
}
参考
斑点类 https://developers.google.com/apps-script/reference/base/blob
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)