Sum*_*oon 3 google-docs google-apps-script
我正在尝试使用 Google Appsscript 在 Doc 文件中创建一个表。最后一行应该只包含一个单元格:

但我能得到的就是这个(最后一行靠左对齐)。
我尝试了不同的事情:
非常感谢您的帮助。多谢!
var cells = [
['Cell 1', 'Cell 2'],
['Cell 1', 'Cell 2'],
['Cell 1', 'Cell 2'],
['Cell 1', 'Cell 2'],
["Only one Cell"]
];
var tableHeader = body.appendTable(cells);
Run Code Online (Sandbox Code Playgroud)
merge()无法使用合并单元格的方法。我不确定这是一个错误还是当前的规范。现在,当我再次测试相同的情况时,似乎merge()仍然不能使用。而且,我也向你证实了同样的结果。我希望这个问题将在未来的更新中得到解决。但幸运的是,人们已经发现,当使用 Google Docs API 时,可以合并表格单元格。因此,在这个答案中,我想建议使用 Google Docs API 来实现您的目标。当你的放映脚本修改后,下面的修改如何?
在使用此脚本之前,请在高级 Google 服务中启用 Docs API。
function myFunction() {
var doc = DocumentApp.getActiveDocument();
var body = doc.getBody();
var id = doc.getId();
var cells = [ // This is from your script.
['Cell 1', 'Cell 2'],
['Cell 1', 'Cell 2'],
['Cell 1', 'Cell 2'],
['Cell 1', 'Cell 2'],
["Only one Cell"]
];
var length = cells.length;
cells[length - 1].push("");
body.appendTable(cells);
doc.saveAndClose();
// Use Google Docs API.
var obj = Docs.Documents.get(id).body.content;
var table = obj.reverse().find(({ table }) => table);
var requests = [{ mergeTableCells: { tableRange: { columnSpan: 2, rowSpan: 1, tableCellLocation: { tableStartLocation: { index: table.startIndex }, rowIndex: cells.length - 1, columnIndex: 0 } } } }];
Docs.Documents.batchUpdate({ requests }, doc.getId());
}
Run Code Online (Sandbox Code Playgroud)
在本次修改中,首先将一个空值添加到最后一行,并使用cells. 并且,最后一行的单元格由 Google Docs API 合并。
在本例中,为了检索附加表的位置,我使用了 Google Docs API 的“方法:documents.get”。
运行此脚本时,将获得以下结果。
| 归档时间: |
|
| 查看次数: |
918 次 |
| 最近记录: |