我已经写了这个函数(谢谢@Mogsdad)来合并文本google文档中表格中的单元格,如下所示:
function onOpen() {
// Add a menu with some items, some separators, and a sub-menu.
DocumentApp.getUi().createMenu('Sample')
.addItem('merge cells of a table', 'mergeCells')
.addToUi();
}
function mergeCells() {
var body = DocumentApp.getActiveDocument().getBody();
for (var p= 0; p< body.getNumChildren(); p++) {
var child = body.getChild(p);
if (child.getType() == DocumentApp.ElementType.TABLE){
// Assume we've already located our table
var table = child;
var tableRow = table.getChild(2); // gets third row
var tableCell = tableRow.getChild(1); // gets second cell in row
tableCell.merge(); // Merges seconde cell with first cell.
}
}
}
但是当我运行代码时,我得到了这个奇怪的结果(与预期的非常不同,合并的单元格具有相同的表格尺寸):
有没有办法解决它? (具有相同尺寸的合并单元格)
答案 0 :(得分:11)
[编辑以解决Google文档中的更新]
这目前不可能。你可以通过调用getColSpan和getRowSpan来了解是否合并了一个单元格,但是没有setter方法。
请为following issue加注星标,以便通知此更新。
您找到的merge函数并非特定于表格单元格,它可以将任何元素与之前同类型的兄弟相结合,并加入其内容。
[原创回答]
如果您希望有一个合并的单元格,就像您在电子表格中可以做的那样,这是不可能的。仅仅因为在Google文档中这是不可能的(至少现在还没有)。因此,API无法执行此操作(它只能执行手动操作的操作)。
这个merge函数并不像您想象的那样特定于表格单元格。它按设计工作。
答案 1 :(得分:2)
您可以通过解决方法来完成此操作。添加图纸并在此图纸文档中添加表格。在本文档中,如果您选择2个单元格并按下鼠标右键,则可以选择“合并单元格”选项。 See this youtube video for a tutorial
答案 2 :(得分:0)
以下是转换为Google文档时如何解决MS文档表格中的合并单元格:想法是返回MS Word文档并删除合并的单元格,然后复制并粘贴或转换MS字词到Google文档。通过这种方式,我们可以轻松地将MS文档中的表格转换为Google文档。但是,在Google文档中,无法合并单元格。
答案 3 :(得分:0)