使用apps-script在Google文档中嵌入电子表格表格

时间:2019-07-05 12:44:13

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

我想知道是否可以使用应用脚本将电子表格表格嵌入到Google文档中。

我知道您可以通过将表格复制/粘贴到google doc中来完成此操作,但是有没有办法使用apps脚本来完成此操作?

编辑

使用@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设置为什么

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

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.
}

由于您没有提供任何现有代码或细节,所以这是一个非常广泛的解决方案。但本质上,您需要获取值(以2D数组形式),然后使用appendTable()将其粘贴到文档主体中。

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

答案 1 :(得分:0)

尝试一下:

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

const welcome = (agent) => { agent.add(`Welcome to my Khoon hazir. It is an online blood bank. How may i help you?`);
    agent.add(new Card({
        title: `Khoon hazir`,
        imageUrl: 'https://images.pexels.com/photos/355296/pexels-photo-355296.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500',
        text: `This is an online Blood bank, aim to save lives`,
        buttonText: 'Need Blood',
        buttonUrl: 'https://www.facebook.com/khoon.hazir/'
    }));        
}

SpreadSheet中数据的图像:

enter image description here

文档中表格的图像:

enter image description here