如何使用C#从Word文件中提取文本?

时间:2011-06-09 02:21:50

标签: c# .net ms-word

我正在尝试转换大量(100,000)的单词DOC文件,这些都很老了。从1995年到2000年的Word版本,我想。我继续在堆栈溢出和MS文档中看到的圈子。

我想要的是简单地读取文件,将文本粘贴到字符串中,解析字符串,取出结构内容(文件实际上是结构化报告,看起来像患者:Jon Doe)。那时,我知道我在做什么。我可以解析字符串数据,将其粘贴到有用的变量中,然后将这些数据粘贴到数据库中。但我不知道如何将文本实际放入字符串中。有什么帮助吗?

PPS我找到this reference,据说将DOC文件放入文本文件中。这是一个开始,但我宁愿避免做一堆文件操作。

2 个答案:

答案 0 :(得分:2)

如果您尝试使用Word对象模型,则必须始终在客户端上实例化某个版本的Word(因为不建议在服务器上运行Word)。不幸的是,你将依赖Word对旧文件的限制,例如:在Word 2010中,您只能以沙盒模式打开Office 95中的文件(即,您无法以编程方式访问文件内容)。此外,您还必须处理未知模板内容(例如附带宏的文档)。

在您的情况下,我宁愿寻找允许访问内容的3p组件。 我从OpenText eDocs和Autonomy iManage等文档管理系统中了解到,他们使用其他工具来完整索引所有类型的文档,并可以在查看器应用程序中显示内容。所以,如果你朝这个方向看,可能会找到有用的东西。

答案 1 :(得分:0)

就您的代码而言,word文件只是一个普通文件。

试试这个:

using System.IO;

StreamReader streamReader = new StreamReader(filePath);
string text = streamReader.ReadToEnd();
streamReader.Close();
相关问题