c# - 使用 DocumentFormat.OpenXml dll 读取 .Doc 文件

标签 c# ms-word openxml openxml-sdk

当我尝试使用 DocumentFormat.OpenXml dll 读取 .doc 文件时,出现“文件包含损坏的数据”错误。

此 dll 正在正确读取 .docx 文件。

DocumentFormat.OpenXml dll 可以帮助读取.doc 文件吗?

string path = @"D:\Data\Test.doc";
string searchKeyWord = @"java";

private bool SearchWordIsMatched(string path, string searchKeyWord)
{
    try
    {
       using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(path, true))
       {
           var text = wordDoc.MainDocumentPart.Document.InnerText;
           if (text.Contains(searchKeyWord))
               return true;
           else
               return false;
       }
     }
     catch (Exception ex)
     {
         throw ex;
     }
}

最佳答案

旧的 .doc 文件与新的 .docx 文件具有完全不同的格式。所以,不,您不能使用 OpenXml 库来读取 .doc 文件。

为此,您需要先手动转换文件,或者需要使用 Office 互操作,而不是您现在使用的 Open XML SDK。

关于c# - 使用 DocumentFormat.OpenXml dll 读取 .Doc 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9975008/

相关文章:

c# - 使用 Open Xml 将列添加到现有 Excel 2007 工作簿

.net-3.5 - 如何在内存流上创建包

c# - 如何在运行时从 XNA 中的路径加载纹理?

c# - WPF:将 ContextMenu 绑定(bind)到 MVVM 命令

c++ - 我的 Word 加载项的对话框不使用视觉样式

Android - 创建word文档

c# - TakeWhile 由于不明原因失败

c# - 为什么 Linq 更快

vba - 如何确定 MS Word 宏中表格的页码?

c# - OpenXML 中的制表符