google-apps-script - DocumentApp 表 : How do I merge cells in a column? [w/workaround]

标签 google-apps-script google-docs

我正在尝试使用 GAS 构建一个文档,该文档将包含一个表,其中第一列中有一个单元格,第二列中有多个单元格。 See an example here.

我了解表格的结构为表格 > 行 > 单元格,并且 merge() 方法仅合并同级单元格,即同一行中的单元格。

有没有办法在两个同级行中合并文档表格单元格,或者实现类似的效果?

最佳答案

解决方法

您可以从已在 Google 文档应用程序中设置格式的现有 Google 文档复制表格。这将使用以下代码保留合并列和所有格式:

function copyTable() {
  var sourceDoc = DocumentApp.openById('id').getBody();
  //This is the orginal table containing merged cells:
  var sourceTable = sourceDoc.getTables()[0];

  var targetDoc = DocumentApp.openById('id').getBody().clear();
  var copiedTable = targetDoc.appendTable(sourceTable.copy());
}

限制

合并的列格式似乎是在 Table 元素中编码的,而不是在 Row 或 Cell 元素中编码的。表格仅在复制表格元素时保持其格式。

将行一起复制可以保持列合并,但如果您之前设置了一个值,则会丢失 setWidth 值。似乎在复制行或单元格时丢失了一些格式。在合并中向表中添加一个额外的行会破坏合并。

我发现你可以编辑Table的内容,比如Cell.setWidth(),当然你也可以编辑文本。您只是不能使用此方法添加行和单元格,并保持列合并。

关于google-apps-script - DocumentApp 表 : How do I merge cells in a column? [w/workaround],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712291/

相关文章:

google-docs - 更新谷歌文档中标题的链接

google-apps-script - 谷歌文档脚本: appendText/insertText Formatting

json - 地理编码城市+州,因为它们会定期添加到谷歌表格中?

google-apps-script - 谷歌脚本: Creating a Folder After Form Submission

android - 如何在 Android 应用程序中同步 Google 电子表格并从中读取行

javascript - 如何使用 jQuery 通过 ajax 调用传递隐藏值?

excel - 在 Google 电子表格上正确使用 SUMIF

google-apps-script - 新的 "Execution hints"按钮有什么作用?

javascript - 测量填写部分的时间 - 谷歌表单

google-apps-script - 如何通过应用程序脚本在特定文件夹中创建电子表格