我们可以使用FileStream对象来把文本文件里面的信息读取出来,但是对于word文档来说就不能使用这样的方法了.这种情况下我们需要使用叫做” Microsoft Word 9.0 object library”COM组件来实现,它为我们提供了所有用来读取word文档的对象和方法.这里我们主要用Word.ApplicationClass下的方法来处理word应用程序.实现的思路是先在内存中把这个word文档打开,然后把里面的内容全部拷贝的剪切板中,最后再把数据从剪切板里面取出来.代码如下:Word.ApplicationClass wordApp=new ApplicationClass();object file=path;object nullobj=System.Reflection.Missing.Value;   Word.Document doc = wordApp.Documents.Open(ref file, ref nullobj, ref nullobj,                       ref nullobj, ref nullobj, ref nullobj,                       ref nullobj, ref nullobj, ref nullobj,                       ref nullobj, ref nullobj, ref nullobj);doc.ActiveWindow.Selection.WholeStory();doc.ActiveWindow.Selection.Copy();IDataObject data=Clipboard.GetDataObject();txtFileContent.Text=data.GetData(DataFormats.Text).ToString();doc.Close();

解决方案 »

  1.   

    对于读取word文档内容,你可以通过引用Word object组件(COM组件)来进行, 
    大概的步骤如下: 
    1。系统引用Microsot word object library; 
    2. 创建Word.Application对象实例;通过其documents属性集合的open()方法打开你要读取的word文档; 
    3。创建一个Range对象(从文档开头到文档结束),获得其Text属性即为文档内容 示例程序如下: 
    变量strContent保存的即为word文档内容 
    Word.Application app = new Word.ApplicationClass(); 
    object obj = System.Reflection.Missing.Value; 
    object fileName = "d:\\a.doc"; 
    Word.Document doc = app.Documents.Open( ref fileName,ref obj , ref obj,ref obj, ref obj,ref obj,ref obj, ref obj, ref obj ,ref obj ,ref obj, ref obj, ref obj, ref obj, ref obj, ref obj); object count  = doc.Characters.Count; 
    object start  = 0; 
    string strContent = doc.Range(ref start,ref count).Text; 
    object objNotSave = false; 
    doc.Close(ref objNotSave, ref obj, ref obj); 
    app.Quit(ref objNotSave, ref obj, ref obj); 
    if(doc != null) 

    System.Runtime.InteropServices.Marshal.ReleaseComObject(doc); 
    doc = null; 
    } if(app != null) 

    System.Runtime.InteropServices.Marshal.ReleaseComObject(app); 
    app = null; 
    } MessageBox.Show(strContent);