在Google文档中修改脚本中的表格

时间:2014-11-25 14:10:14

标签: javascript google-apps-script google-docs-api

我有一个包含一个表格的Google文档。我正在尝试编写一个脚本,将一些空行附加到表中,我该怎么做?

我尝试过以下功能:

function insertRows2() {
  var NUMBER_OF_ROWS = 40;

  var body = DocumentApp.getActiveDocument().getBody(),
      searchElement = body.findElement(DocumentApp.ElementType.TABLE),
      element = searchElement.getElement(),
      table = element.asTable();

  Logger.log('num rows: ' + table.getNumRows());

  for (var i = 0; i < NUMBER_OF_ROWS; i++) {
    table.appendTableRow();
  }

  Logger.log('num rows: ' + table.getNumRows());
}

输出结果为:

[14-11-25 15:02:26:275 CET] num rows: 1077
[14-11-25 15:02:26:353 CET] num rows: 1117

但是我没有在文档中看到新创建的行。 如果我从UI手动插入一行,然后重新执行我得到的脚本:

[14-11-25 15:04:24:317 CET] num rows: 1118
[14-11-25 15:04:24:400 CET] num rows: 1158

所以看起来代码实际上是在正确的表上工作,但我没有看到文档本身的新行。

日志显示1158行,但文档实际上只有~30行

1 个答案:

答案 0 :(得分:2)

通过调用table.appendTableRow(),您将追加空行 - 空白相同。

相比之下,UI正在添加空白行,其中包含子tableCells。一行中的任何可见内容最终都包含在tableCell中;因此,通过在行中添加至少一个,您应该得到一个可见的行。

请尝试table.appendTableRow().appendTableCell();