通过 Google 文档中的脚本修改表格

Modify a table from script in Google Docs

本文关键字:脚本 修改 表格 Google 文档 通过      更新时间:2023-09-26

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

我尝试过以下功能:

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 行

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

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

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