Ms word 使用OpenXML在word文档中动态插入2个表
我需要在word文档中插入2个表。我使用的是OpenXMLAPI。当我尝试插入第二个表时,它会给我一个错误-Ms word 使用OpenXML在word文档中动态插入2个表,ms-word,openxml,Ms Word,Openxml,我需要在word文档中插入2个表。我使用的是OpenXMLAPI。当我尝试插入第二个表时,它会给我一个错误-无法插入OpenXmlElement“newChild”,因为它是树的一部分 以下是我的代码: if (fieldname.Trim().Equals("Table")) { if (!checkCount) { var tabRun = new Run(table); var anc = field.Ancestors<Parag
无法插入OpenXmlElement“newChild”,因为它是树的一部分
以下是我的代码:
if (fieldname.Trim().Equals("Table"))
{
if (!checkCount)
{
var tabRun = new Run(table);
var anc = field.Ancestors<Paragraph>().FirstOrDefault();
anc.RemoveAllChildren();
anc.Append(tabRun);
}
else
{
var tabRun = table;
var anc = field.Ancestors<Paragraph>().FirstOrDefault();
anc.RemoveAllChildren();
anc.Append(tabRun);
}
}
if(fieldname.Trim().Equals(“表”))
{
如果(!检查计数)
{
var tabRun=新运行(表);
var anc=field.concenters().FirstOrDefault();
移除所有儿童();
附加(tabRun);
}
其他的
{
var tabRun=表格;
var anc=field.concenters().FirstOrDefault();
移除所有儿童();
附加(tabRun);
}
}
这里,当代码第二次执行时,标志checkCount
将为真<代码>字段名
指将由表替换的合并字段
我无法找出此问题的原因。如前所述,您需要克隆节点以提前插入以处理此问题。出现此错误是因为您试图添加的节点不是新创建的,而是树的一部分。是否在循环的每次迭代中创建并分配
表
变量?否则,else语句(代码中失败的部分)必须创建一个新的表
节点,该节点之前没有添加到文档中。