使用Google应用脚本合并文档中的两个单元格

时间:2016-01-15 16:27:58

标签: google-apps-script

在开始之前,我已经在互联网上搜索过这个主题,但很多信息都很旧,以至于无法使用UI在Docs中创建合并单元格,但现在可能。

由于谷歌应用脚​​本支持页面说我需要在此站点寻求帮助。

我想知道是否可以将两个单元格(colspan)与Google文档中最近的更改合并。

1 个答案:

答案 0 :(得分:1)

Apps脚本文档中有pretty good explanation,但该示例处理的是段落。

Google文档中的表格由填充了TableCell对象的TableRow对象组成。您可以将表视为数组数组。实际上,您可以使用数组数组使用Body.appendTable()方法创建表。

TableCells有一个merge()方法,它将一个单元格与其前一个兄弟单元格合并。文本用换行符连接。

合并两个单元格的代码如下所示:

function mergeCellsExample() {
  //We can use an array of arrays to populate our table.
  var cells = [
    ['First cell', 'Second cell'],
    ['First cell second row', 'Second cell second row']
  ];

  //Creates an example document in your Google Drive Root Folder.
  //It will be titled "Cell merge example"
  var table = DocumentApp.create('Cell merge example').getBody().appendTable(cells);

  // Get the first row in the table.
  var row = table.getRow(0);

  // Get the two cells this row.
  var cell1 = row.getCell(0);
  var cell2 = row.getCell(1);

  // Check the contents of cells 1 and 2
  Logger.log('Cell1 contents: %s', cell1.getText());
  Logger.log('Cell2 contents: %s', cell2.getText());

  // TableCell.merge() merges the current cell into its preceding sibling element.
  var merged = cell2.merge();  
  Logger.log('Merged cell contents: %s', merged.getText());

  // Cell1 and merged are the same cell
  Logger.log('Cell1 == Merged cell: %s', cell1.getText() == merged.getText());
  // Cell2 no longer exists
  Logger.log('Cell2 contents: %s', cell2.getText());
}