我正在从模板创建文档,但无法弄清楚如何在正确的位置插入表格。
我在内存中有一个二维数组的表,在模板中我有这样的占位符(包括方括号):
... [表 1] ... [表 2] ... [表 3] ...
这些占位符中的每一个都位于 1x1 表中。
我已经设法将我的第一个数组插入到正确的位置,但是当我搜索以下占位符时,我的数组总是被插入到表 1 之后。
我的代码如下(我在网上找到并稍作修改):
function insertTable(targetdoc, stringToReplace, tableValues) {
var body = targetdoc.getBody();
var searchElement = targetdoc.getActiveSection();
var searchType = DocumentApp.ElementType.TABLE;
var searchHeading = DocumentApp.ElementType.TABLE_CELL;
var searchResult = null;
// Search until the table is found.
while (searchResult = searchElement.findElement(searchType, searchResult)) {
var par = searchResult.getElement().asTable();
var tabletext = par.getText();
var substr=tabletext.search(stringToReplace);
if (substr >0 ) {
var childindex = body.getChildIndex(par);
var oTable = body.insertTable(childindex+1, tableValues);
return oTable;
}
}
}
调用代码是:
var oTable = insertTable(oOutputFile,"["+cFieldID+"]",aTable);
其中 oOutputfile 是新文档,cFieldID 是占位符文本,aTable 是二维数组。
谁能帮我让它工作,以便将每个数组插入正确的位置?
谢谢