如何使用 OpenXML 查找和替换页脚字符串:我的解决方案

问题描述 投票:0回答:1

我发现很难找到文档页脚中 FindAndReplace 文本的任何解决方案,因此在自己弄清楚之后,我认为也许我的解决方案对其他人有用。

我尝试使用 Microsoft.Office.Interop.Word,在尝试使用它时遇到错误并看到其他开发人员建议远离 Microsoft.Office.Interop 并使用 OpenXML,我决定这样做。

c# visual-studio-2022 openxml
1个回答
0
投票

这是我浏览文档并替换与指定字符串匹配的文本实例的方式。

using DocumentFormat.OpenXml.Wordprocessing;
using Text = DocumentFormat.OpenXml.Wordprocessing.Text;

private static void FindAndReplace(WordprocessingDocument wordDoc, string findText, string replaceWithText)
        {
            foreach (Text text in wordDoc.MainDocumentPart.Document.Descendants<Text>())
            {
                if (text.Text.Contains(findText))
                {
                    text.Text = text.Text.Replace(findText, replaceWithText);
                }
            }

            foreach (var footerPart in wordDoc.MainDocumentPart.FooterParts)
            {
                foreach (Text text in footerPart.Footer.Descendants<Text>())
                {
                    if (text.Text.Contains(findText))
                    {
                        text.Text = text.Text.Replace(findText, replaceWithText);
                    }
                }
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.