将表插入文字处理文档的中间(Open XML SDK)

时间:2013-08-09 15:25:50

标签: c# openxml wordprocessingml

我有一个模板Word文档,我用openXML SDK 2.0(使用c#)填写详细信息。 我还需要将一个表插入到文件中,并在MSDN上找到this tutorial。 但是 - 示例是将表附加到文档的末尾,我希望它位于中间的某个位置。 我可能需要替换这一行:

doc.MainDocumentPart.Document.Body.Append(table);

用别的东西。 (完整代码在上面的链接中。)

请帮助我......我什么都没找到。

感谢。

1 个答案:

答案 0 :(得分:2)

执行此操作的一种方法可能是使用Content Controls作为占位符,从代码中将表插入其中。

var myContentControl = doc.MainDocumentPart.Document.Body.Descendants<SdtBlock>()
    .Where(e => e.Descendants<SdtAlias>().FirstOrDefault().Val == "myTablePlaceholder").FirstOrDefault();

SdtContentBlock sdtContentBlock1 = new SdtContentBlock();
sdtContentBlock1.Append(table); // Your table
myContentControl.Append(sdtContentBlock1);