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

时间:2013-01-22 09:28:30

标签: c# docx doc

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

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

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

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

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

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

您可以使用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();
        }
    }
}

答案 2 :(得分:1)

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