使用 C# 但没有 Word Interop 以编程方式在 Word 文档中搜索文本短语

Programmatically searching for a text phrase in a Word document using C# but without Word Interop

我正在寻找一种通过 C# 以编程方式在给定文件夹中搜索包含特定文本短语的 Word 文档的方法。该程序需要能够在不使用 Word Interop 的情况下工作,因为它可能 运行 在服务器上。

我曾尝试寻找解决方案,但我找到的任何东西都非常陈旧并且基于过时版本的库和应用程序。

DocumentFormat.OpenXml 可能是您最好的选择。

using DocumentFormat.OpenXml.Packaging;

var doc = WordprocessingDocument.Open(filePath, false);
string content = doc.MainDocumentPart.Document.Body.InnerText;

if (content.Contains("phraseToSearch"))
{
    //do your thing
}   

doc.Close();