Javascript 如何';对于循环';通过谷歌文档表

Javascript 如何';对于循环';通过谷歌文档表,javascript,google-apps-script,google-docs,Javascript,Google Apps Script,Google Docs,我在谷歌文档中有一个表格(不是表格)。第一列包含一个ID号,它与提交数据的Google表单中的相对ID相匹配 //This is what the table looks like //[id][name][favourite cheese] //[3 ][bob ][chedder] //[4 ][jane][old english] 我需要 循环浏览Google文档表中的每一行 确定第一列中的单元格是否包含“文本”(与ID号相同) 如果包含文本,则使用新数据更新行 这是我目前的代码: //

我在谷歌文档中有一个表格(不是表格)。第一列包含一个ID号,它与提交数据的Google表单中的相对ID相匹配

//This is what the table looks like
//[id][name][favourite cheese]
//[3 ][bob ][chedder]
//[4 ][jane][old english]
我需要

  • 循环浏览Google文档表中的每一行
  • 确定第一列中的单元格是否包含“文本”(与ID号相同)
  • 如果包含文本,则使用新数据更新行
  • 这是我目前的代码:

    // Grab the Table
    var body = DocumentApp.openById('theId').getBody(),
      searchElement = body.findElement(DocumentApp.ElementType.TABLE),
      element = searchElement.getElement(),
      table = element.asTable();
    
    这段代码用于抓取表,因为您无法在Google文档中命名表

    我很惊讶我找不到更多的信息。我正在尽我最大的努力,并且有一种感觉,我将使用一个“For循环”来搜索每一行,但我是否需要。getElement(行)来循环?我可以使用.findText()吗?或者它会显示表中包含文本的每个部分。也许我可以在每行的第一列循环.getElement(行)和.findText()


    我知道循环是一个相当基本的Javascript概念,只是Google文档的操作方式让我感到困惑。

    你是对的,你可以使用Javascript
    for
    循环遍历行

    for (var i = 0; i < table.getNumRows(); ++i) {
      var row = table.getRow(i);
      Logger.log(row.getText());
    }
    

    我发现我可以从电子表格中复制数据,并在谷歌文档中创建一个“实时”表格。这个方法的问题是,它似乎不会自动更新行。您必须手动按下更新按钮。
    if (row.getCell(0).getText() === id) {
      row.getCell(1).setText('foo');
    }