我正在打开.docx文件,使用以下代码遍历所有内容控件并将文本设置为" foo bar文本"。这适用于文档正文中的内容控件。 问题是它永远不会更新页眉和页脚中的内容控件。 有什么我想念的吗?
using (WordprocessingDocument doc = WordprocessingDocument.Open(resultDocumentPath, true))
{
MainDocumentPart mainPart = doc.MainDocumentPart;
foreach (SdtElement sdt in mainPart.Document.Descendants<SdtElement>())
{
Run formattedRun = new Run();
RunProperties runProperties = new RunProperties();
runProperties.Append(new Text("the foo bar text"));
formattedRun.Append(runProperties);
sdt.Append(new Paragraph(new Run(formattedRun)));
}
}
答案 0 :(得分:1)
页眉和页脚存储在与主文档正文不同的部分中。
在原始OpenXML标记中,相应的文件是“header#.xml”和“footer#.xml”。
在OpenXML SDK中,您需要遍历MainDocumentPart.HeaderParts
和MainDocumentPart.FooterParts
。