Google apps script 有没有一种方法可以使用脚本生成GoogleSheets图表的.jpg图像?
在GoogleSheets中,我有一个带有按钮的选项卡,它调用一个脚本来做一些事情并生成一个图表。我想在脚本的末尾添加一段代码,生成并下载生成的图表的图像 在图表的右上角有一个选项可以这样做,所以我录制了一个宏,但并没有生成任何内容 找不到这样做的方法。有线索吗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
谢谢这将把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);
}
当你点击按钮时,作为一个直接下载的解决方法,我建议你查看帖子
文件