使用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,xls和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)