Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在字处理文档中间插入一个表(OpenXMLSDK)_C#_Openxml_Wordprocessingml - Fatal编程技术网

C# 在字处理文档中间插入一个表(OpenXMLSDK)

C# 在字处理文档中间插入一个表(OpenXMLSDK),c#,openxml,wordprocessingml,C#,Openxml,Wordprocessingml,我有一个模板Word文档,我使用OpenXMLSDK2.0(使用c#)将详细信息填入其中。 我还需要在文件中插入一个表,我在MSDN上找到了它。 但是,这个例子是把表追加到文档的末尾,我希望它在中间的某个地方。 我可能需要更换这一行: doc.MainDocumentPart.Document.Body.Append(table); 还有别的。(完整代码在上面的链接中) 请帮帮我。。我什么也没找到 谢谢。一种方法是使用内容控件作为占位符,从代码中将表插入其中 var myContentCont

我有一个模板Word文档,我使用OpenXMLSDK2.0(使用c#)将详细信息填入其中。 我还需要在文件中插入一个表,我在MSDN上找到了它。 但是,这个例子是把表追加到文档的末尾,我希望它在中间的某个地方。 我可能需要更换这一行:

doc.MainDocumentPart.Document.Body.Append(table);
还有别的。(完整代码在上面的链接中)

请帮帮我。。我什么也没找到


谢谢。

一种方法是使用
内容控件作为占位符,从代码中将表插入其中

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);
var myContentControl=doc.MainDocumentPart.Document.Body.subjects()
.Where(e=>e.subjects().FirstOrDefault().Val==“myTablePlaceholder”).FirstOrDefault();
SdtContentBlock SdtContentBlock 1=新的SdtContentBlock();
sdtContentBlock1.Append(表);//你的桌子
myContentControl.Append(sdtContentBlock1);

谢谢。事实上,我发现了OpenXMLSDK生产力工具,它反映了文档代码,我发现了.docx的神奇之处,然后,我使用了InsertAfter(element)函数。