【问题标题】:Adding information from a Google Forms response to a new row in a Google Docs table将来自 Google 表单响应的信息添加到 Google 文档表中的新行
【发布时间】:2018-04-26 04:21:07
【问题描述】:

我想将新提交的表单响应的详细信息传输到我在 Google 文档文件中创建的表格。

问题:我使用的第一个方法 (.appendTable(cells)) 创建了一个新表。我的第二次尝试(下面,我通过搜索 Stack Overflow 发现)只创建了一个单元格并将所有信息添加到其中。将cells 变量添加到.appendTableRow(),即.appendTableRow(cells),也不起作用。

我现有代码中的相关sn-p:

// Grab the existing table.
var body = DocumentApp.openById('thedocumentid').getBody(),
searchElement = body.findElement(DocumentApp.ElementType.TABLE),
element = searchElement.getElement(),
table = element.asTable();

// Add the Row to the table.
var cells = [[theDate, nameWelcome, interest, value, comment, offer]];
var addRow = table.appendTableRow().appendTableCell(cells);

如何将表单响应信息添加到新表格行的单独单元格中?

【问题讨论】:

  • 如果您使用的是 Google 表单,那么您始终可以在 Google 电子表格中获取回复。 spreadshset 中的每一列代表谷歌表单的每个问题/字段。 Google 表单负责将行附加到现有的响应电子表格中。抱歉,我无法获得编写代码的要求...请在此处提供输入。
  • @aks 感谢您的反馈。该脚本在我的谷歌电子表格中运行。该功能在表单提交上执行。我只是在推出结果时遇到了麻烦。一个简单的循环将其修复,如下所示。我也非常感谢您的帮助!

标签: google-apps-script google-docs


【解决方案1】:

这个修改怎么样?它使用insertTableCell() 追加一行。

var cells = [theDate, nameWelcome, interest, value, comment, offer]; // 1 dimensional array
var addRow = table.appendTableRow();
cells.forEach(function(e, i){
  addRow.insertTableCell(i, e);
});

参考:

如果我误解了你的问题,我很抱歉。

【讨论】:

  • 这是一个完美的解决方案,循环是个好主意。谢谢
  • @Bjaeg 很高兴您的问题得到了解决。我也可以从你的问题中学习。也谢谢你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
相关资源
最近更新 更多