【问题标题】:Embed spreadsheet table in google doc with apps-script使用应用程序脚本将电子表格表格嵌入谷歌文档
【发布时间】:2019-11-16 02:30:16
【问题描述】:

我想知道是否有办法使用应用脚本将电子表格表格嵌入到谷歌文档中。

我知道您可以通过将表格复制/粘贴到谷歌文档中来做到这一点,但是有没有办法使用应用程序脚本来做到这一点?

编辑

使用@Cooper 和@Alberto Molina 的答案,我想出了以下代码,它导入并插入了一个表格

var sheet = SpreadSheetApp.openById("").getSheets()[0];
var docBody = DocumentApp.openById("").getBody();
var values = sheet.getDataRange().getValues();
var elem = docBody.findText("").getElement();  
var parent = elem.getParent();
var idx = docBody.getChildIndex(parent);
docBody.insertTable(++idx, values);

这段代码像这样插入一个“原始”表 Image

我希望对原始表格的更改能够影响 google 文档中的表格。所以基本上我想像这样插入它Image

我目前的想法是:

docBody.insertTable(++idx, values).setLinkUrl(**???**);

但我不知道将 URL 设置为什么

【问题讨论】:

  • 请按照How to Ask 的建议添加您的搜索/研究工作的简要说明。
  • 您好,我刚刚通过进一步的解释和研究工作编辑了我的问题。

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


【解决方案1】:

试试这个代码:

function table(){
  var ss = SpreadSheetApp.getCurrentSheet();
  var doc = DocumentApp.create('Sample Document'); // Or find one by name/ID
  var body = doc.getBody();

  var dataYouWant = ss.getRange("A1:D4").getValues(); // stores a 2D array with the values
  table = body.appendTable(dataYouWant); // pastes table in doc

  table.getRow(0).editAsText().setBold(true); // Example of how to edit table, this sets the header bold.
}

由于您没有提供任何现有代码或细节,这是一个非常广泛的解决方案。但本质上,您需要的是获取值(在二维数组中),然后使用 appendTable() 将它们粘贴到文档正文中。

Here’s 一些关于通过 GAS 使用文档的文档。 Here’s 一些关于处理 Doc 表的类的文档。

【讨论】:

    【解决方案2】:

    试试这个:

    这将进入文档脚本编辑器中的 Code.gs,并打开另一个电子表格以获取其数据。

    function addNewTable() {
      var data=SpreadsheetApp.openById("SpreadsheetId").getSheetByName('SheetName').getDataRange().getValues();
      var doc=DocumentApp.getActiveDocument();//run from active document
      doc.getBody().appendTable(data);
    }
    

    电子表格中的数据图像:

    文档中的表格图片:

    【讨论】:

    • 感谢您的回答,但是否可以链接表格 - 电子表格中表格的更改会影响 google 文档中的表格?就像您手动将表格复制/粘贴到谷歌文档中一样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    相关资源
    最近更新 更多