在Google表格中,我有一个带有按钮的标签,该按钮调用执行某些操作并生成图表的脚本。我想在脚本末尾添加一个代码,该代码可以生成并下载所生成图表的图像。
在图表的右上方,有一个选项可以执行此操作,因此我记录了一个宏,但没有产生任何结果。
找不到解决方法。有任何线索吗?
谢谢
答案 0 :(得分:0)
这会将png图片放入Google文档:
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);
}
答案 1 :(得分:0)
此代码会将图像保存在您的云端硬盘中,并将网址放在电子表格的一个单元格中:
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);
}
作为单击按钮时直接下载的解决方法,建议您检查this帖子。