是否可以通过已链接的Google文档更新Google表格?基本上,我有一个带有链接的Google表格的Google模板Google文档。我有一个脚本,可以在提交表单时复制google doc。然后将变量替换为适当的表单数据。
准备就绪后,我将使用个人信息更新Google表格并更新google文档。在我需要对较旧的google文档进行更改之前,此方法可以正常工作...但是由于我的google文档已链接到同一工作表,因此我必须从较旧的google doc重新输入google工作表中的信息,而不仅仅是编辑谷歌表。有没有一种方法可以将数据从Google文档推回Google工作表?
或者有没有一种方法可以使用应用程序脚本将表格从Google表格插入并链接到Google文档中?我发现将工作表链接到文档的唯一方法是使用复制和粘贴...
答案 0 :(得分:0)
没有一个很好的答案。遗憾的是,文档api中未提供刷新功能。但是,您可以使用Apps脚本将工作表中的数据复制到文档中。它确实会丢失格式,因此您也必须重置格式,如下面的示例所示。
function copyDataFromSheetToDoc() {
var sheet = SpreadsheetApp.openById('1R0a4aj1iJA8IxlgYRMjsM7DytPItQxy3be7W55mitr4');
var data = sheet.getSheetByName('Sheet1').getRange("A1:C4").getValues();
var doc = DocumentApp.openById('1pMWRr_QbRlObLeulM0DUHZRCc1K6RCch9FMLOM0sSN0');
var body = doc.getBody();
// Update the first table.
var table = body.getTables()[0];
var headerStyle = {};
headerStyle[DocumentApp.Attribute.BOLD] = true;
headerStyle[DocumentApp.Attribute.FONT_SIZE] = 10;
var bodyStyle = {};
for (var r = 0; r < data.length; ++r) {
var row = data[r];
for (var c = 0; c < row.length; ++c) {
var cell = table.getCell(r, c);
cell.setText(row[c]);
if (r == 0) {
cell.setAttributes(headerStyle);
} else {
cell.setAttributes(bodyStyle);
}
}
}
doc.saveAndClose();
}