有没有一种方法(或解决方法)可以使用应用程序脚本将 Google 表格中的表格添加到 Google 幻灯片演示文稿?

Is there a way (or workaround) to add tables from Google Sheets to a Google Slides presentation using app script?

我是应用程序脚本和一般编码的新手。

我编写了一个脚本,使用 "on form submit" 触发器在我的驱动器中创建一个新文件夹,复制三 (3) 个模板文件并将它们放入其中:

我在电子表格中有 table 想要嵌入并自动更新到演示文稿中。

看来我只能将电子表格中的图表嵌入到演示文稿中。 这是真的吗?

如果是这样,我可以调用电子表格中的某些单元格并获取它们的值吗?然后,将它们放在预先制作的 table 幻灯片演示文稿中?

我可能遗漏了任何其他解决方法吗?

我的团队每天执行此过程 8-30 次,因此任何使这部分自动化的方法都会节省大量时间!

谢谢!

A Table 从电子表格到幻灯片

function putTablesIntoSlides() {
  var pr=SlidesApp.openById('Presentation Id');
  var slide1_ObjectId=pr.getSlides()[1].getObjectId();//I was adding the table to slide[1];
  Logger.log(slide1_ObjectId);
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet10');
  var rg=sh.getDataRange();
  var v=rg.getValues();
  //Create a table the size comes from Spreadsheet Data
  var request1={"createTable": {"elementProperties":{"pageObjectId": slide1_ObjectId},"rows": v.length,"columns": v[0].length}};
  var resp1=Slides.Presentations.batchUpdate({requests:request1}, pr.getId());
  //Setting up the data for adding text to the above table.
  var request2=[];
  for(var i=0;i<v.length;i++) {
    for(var j=0;j<v[i].length;j++) {
      request2.push({"insertText":{"objectId":resp1.replies[0].createTable.objectId,"cellLocation": {"rowIndex":i,"columnIndex":j},"text": v[i][j].toString()}});
    }
  }
  //Add test to all of the table cells
  var resp2=Slides.Presentations.batchUpdate({requests:request2}, pr.getId());
  Logger.log(JSON.stringify(resp1));   
}

这是我的 table 数据:

HDR1 HDR6 HDR2 HDR5 HDR4 HDR7 HDR8 HDR3
5 7 2 6 4 3 1 0
7 4 8 2 3 1 7 8
5 7 5 0 0 9 1 2
2 4 9 9 7 3 7 2
1 0 3 3 5 3 9 7
3 7 8 3 2 4 1 8
5 8 6 3 1 1 8 4
3 1 7 7 1 5 7 5
9 6 3 6 8 6 9 8
5 4 9 6 2 3 3 4

Google Slides API

SlidesApp