如何将Google表格图表复制到Google文档

时间:2020-11-03 10:05:24

标签: google-apps-script google-sheets google-docs

显然,Google文档可以嵌入Google表格中的图表(我的意思是“正常”的基于范围的图表,而不是Google图表中的图表)。因此,例如,如果我更改图表颜色,则可以在Google文档中更新这些更改。

不幸的是,Google文档没有脚本记录器功能,当我记录Google表格中的复制/粘贴记录时,它也无济于事(当然,我只打算使用记录功能来获得帮助)。

我相信我应该通过其url(至少是其id部分)将图表作为任何对象嵌入。我知道诸如appendImage()Body类)之类的方法,但是我找不到等效的图表。

有人可以使用 Google Apps脚本(不是通过API)给我一些指导吗?

Link to the Google Docs reference

感谢您的见解!

1 个答案:

答案 0 :(得分:0)

您可以创建一个从图纸中获取图表并将其插入到文档中的功能:

function getChart() {
  var sheet = SpreadsheetApp.openById('SPREADSHEET_ID').getSheets()[0]
  var documentBody = DocumentApp.openById('DOCUMENT_ID').getBody();
  var arr_charts = sheet.getCharts()
  documentBody.appendImage(arr_charts[0].getBlob());
}

这将使您将图表作为文档上的图像。

要对其进行更新,您可以创建一个在修改工作表onEdit(e)时触发的函数,该函数从文档中获取图表并将其替换为新的图表。