作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 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/
我是一名优秀的程序员,十分优秀!