使用C#读取doc和docx文件,而无需在服务器上安装MS Office

我正在开发一个项目(asp.net,c#,vb 2010,.net 4),我需要读取DOC和DOCX文件,我已经上传了(我已经完成了上传部分)。 棘手的部分是我没有在服务器上安装MS Office而且我无法使用它。

是否有任何公共图书馆可以包含在我的项目中,而无需安装任何东西? 这两个文档都很简单:

NUMBER TAB STRING NUMBER TAB STRING NUMBER TAB STRING ... 

我需要为每一行(段落)提取数字和字符串。

愿有人帮忙吗? 我应该再次重复一遍,因为我无法在服务器上安装任何东西。

我们现在可以使用开源, NPOI (Apache POI的.NET端口)库,它也支持docx,xl​​s和xlsx。 DocX也是另一个用于创建word文档的开源库。

对于DOCX,我建议使用Open XML API ,尽管Microsoft开发了Open XML来通过与此API通信的XML文件创建office文件,最新版本2.5于2013年发布,即5年前。

你可以使用Code7248.word_reader.dll

下面是有关如何使用Code7248.word_reader.dll的示例代码

在项目中添加对此DLL的引用,并复制到代码下方。

 using System; using System.Collections.Generic; using System.Text; //add extra namespaces using Code7248.word_reader; namespace testWordRead { class Program { private void readFileContent(string path) { TextExtractor extractor = new TextExtractor(path); string text = extractor.ExtractText(); Console.WriteLine(text); } static void Main(string[] args) { Program cs = new Program(); string path = "D:\Test\testdoc1.docx"; cs.readFileContent(path); Console.ReadLine(); } } } 

更新:NPOI现在支持docx。 请试用最新版本(NPOI 2.0 beta)