如何使用谷歌脚本将图表复制到文档

时间:2013-11-20 17:40:36

标签: graph google-apps-script document spreadsheet

我有一个谷歌电子表格,其中包含可以使用不同源数据更新的已处理数据图表。

我有一个脚本,可以从模板创建一个谷歌文档,并用数据填充(搜索和替换)。

但是,我想将谷歌电子表格中的图表添加到谷歌文档中。

我一直在谷歌搜索,但找不到我可以使用/修改的脚本来拉这个东西。

基本的开始将受到高度赞赏。

更新 的 我已经取得了一些进展

  function test() {
  SpreadsheetApp.flush();
  var Grafieken = SpreadsheetApp.getActiveSheet().getCharts();
  var targetDoc = DocumentApp.openById(anID);
  var DBody = targetDoc.getBody();
  for (var i in Grafieken) {
    var Grafiek = Grafieken[i];
    var plaatje = DBody.appendImage(Grafiek);
  }

但是我遇到了两个问题: - 最重要的是,图表看起来与电子表格不同 - 并非所有图表都被添加(例如,跳过混合图表)

UPDATE2 的 这几乎可行,我需要知道哪个图是哪个。

function test() {
  SpreadsheetApp.flush();
  var Grafieken = SpreadsheetApp.getActiveSheet().getCharts();
  var targetDoc = DocumentApp.openById(DOC_id);
  var DBody = targetDoc.getBody();
  var Grafiek;
  for (var i in Grafieken)
    Grafiek = Grafieken[i];
    var locatie =  DBody.findText('%Grafiek'+i+'%').getElement().getParent().asParagraph().appendInlineImage(Grafiek);

  }
}

1 个答案:

答案 0 :(得分:0)

差不多完成了:

function test() {
  SpreadsheetApp.flush();
  var Grafieken = SpreadsheetApp.getActiveSheet().getCharts();
  var targetDoc = DocumentApp.openById(DOC_id);
  var DBody = targetDoc.getBody();
  var Grafiek;
  for (var i in Grafieken)
    Grafiek = Grafieken[i];
    var locatie =  DBody.findText('%Grafiek'+i+'%').getElement().getParent().asParagraph().appendInlineImage(Grafiek);

  }
}