当前位置:编程学习 > C#/ASP.NET >>

asp.net 页面中只显示 word的内容

asp.net 页面中只显示 word的内容 --------------------编程问答-------------------- 我们可以使用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();

--------------------编程问答-------------------- 能给我详细的例子吗 --------------------编程问答-------------------- 对于读取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); --------------------编程问答-------------------- 只要显示内容 不需要对其进行操作 --------------------编程问答-------------------- 谢谢 --------------------编程问答--------------------
引用 2 楼 khklsdfmg 的回复:
能给我详细的例子吗


图片读不出来
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,