我正在尝试使用 GAS 构建一个文档,该文档将包含一个表,该表的第一列中有一个单元格,第二列中有多个单元格。请参阅此处的示例。 https://docs.google.com/document/d/1e48FxrgZ7uakatBRIDAZZi_2HEH0oa6kekdcXlPbYJE/pub
据我所知,表格的结构为“表格”>“行”>“单元格”,并且 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(),当然你也可以编辑文本。您只是无法使用此方法添加行和单元格,并保持列合并。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)