登录论坛 | 注册会员 设为首页 | 收藏本站
当前位置 : 首页>软件学院>程序开发>ASP.NET>正文
 
在ASP.NET中使用Microsoft Word文档

http://www.dbit.cn 2008-6-29 21:09:43  来源:本站  编辑:张贺兵
 
  本文是应在ASP.NET里创建Microsoft Word文档之需而写的。这篇文章演示了在ASP.NET里怎么创建和修改Microsoft Word文档。

  [背景]

  自动化是一种能让各种语言编写的(如:Visual Basic.NET或C#)应用程序在程序级别上控制其他应用程序。

  对于Word的自动化允许你执行诸如创建新的文档,向文档里添加文本,邮件合并和格式化文档这些操作。在Word和其他的Microsoft Office程序里,那些通过用户接口进行的可视化操作也可以通过程序级别的自动化来实现。

  Word通过对象模型把这个程序可操作的功能向外提供了使用接口。

  对象模型是一组类和方法的集合,这些类和方法与Word的逻辑组件构成对应。例如,他可能是应用程序对象,文档对象,段落对象,每一个对象都包含了Word组件的功能。

  [建立工程]

  在.NET里操作Word的第一步就是添加COM引用到你的工程里,通过右键点击Solution Explorer的Reference,Add Reference。选择COM选项卡,查找Microsoft Word 10.0 Object Library。点击选择,OK。

  这将把封装有Word的COM的程序集自动的添加到应用程序目录里。

  现在,你可以建立一个Word的实例了:

  Word.ApplicationClass oWordApp = new Word.ApplicationClass();

  你可以调用Word提供给你的方法和属性来操纵Word文档。

  学习如何使用Word,Excel,Powerpoint的对象模型最好的途径就是使用在这些Office应用里使用Macro Recorder:

  1.在Tools菜单的Macro选项里选择 Record New Macro ,并且执行你有兴趣的任务。

  2.在Tools菜单的Macro选项里选择 Stop Recording。

  3.如果你进行了纪录,选择Tools菜单的Macro选项里的Macros,找到你记录的宏,你可以编辑它。

  上面的操作产生了VBA代码来完成你记录的任务。需要注意的是,宏在大多数情况下不是最好的代码,但是它提供了一种便捷和可用的方法。

  下面例子打开并添加一写文字:

  object fileName = "c:\\database\\test.doc";

  object readOnly = false;

  object isVisible = true;

  object missing = System.Reflection.Missing.Value;

  Word.ApplicationClass oWordApp = new Word.ApplicationClass();  

  Word.Document oWordDoc = oWordApp.Documents.Open(ref fileName, ref missing,ref readOnly,

  ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,

  ref missing, ref missing, ref isVisible,ref missing,ref missing,ref missing);  

  oWordDoc.Activate();

  oWordApp.Selection.TypeText("This is the text");

  oWordApp.Selection.TypeParagraph();

  oWordDoc.Save();  

  oWordApp.Application.Quit(ref missing, ref missing, ref missing);   

  如果创建一个新文档并保存是这样写的: 

  Word.ApplicationClass oWordApp = new Word.ApplicationClass();  

  Word.Document oWordDoc = oWordApp.Documents.Add(ref missing, ref missing,ref missing, ref missing);  

  oWordDoc.Activate();  

  oWordApp.Selection.TypeText("This is the text");

  oWordApp.Selection.TypeParagraph();

  oWordDoc.SaveAs("c:\\myfile.doc");  

  oWordApp.Application.Quit(ref missing, ref missing, ref missing);

  在C#里,Word文档类的打开方法是这样定义的:Open(ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object, ref object)。在C#里的打开方法需要15个参数,并且每个参数必须被ref关键字所描述,而且是object类型。

  第一个参数是文件,名,在Visual Basic.NET里通常是一个String,但是在在C#里,它必须是一个包含有String的object,代码是这样的:

  object fileName = "c:\\database\\test.doc";   

  虽然我们仅需要使用Open方法的第一个参数,但是C#不允许使用默认参数,所以我们赋予它14个object类型的值:System.Reflection.Missing.Value  

  [使用模版]  

  如果你需要自动的建立有通用格式的文档,那你可以使用基于预格式化的摸版来建立新文档,这样可以方便很多。

  在Word里使用摸版而不是建立空文档有两个明显的优点:  

  1.你可以更大程度的格式化文档和控制文档里的对象。

  2.可以用较少的代码建立文档。
  
  通过使用摸版,你可以调整表格、段落和其他一些在文档里的对象的位置,同时包括格式化这些对象。通过使用自动化处理,你可以建立一个基于摸版的文档,代码如下:  

  Word.ApplicationClass oWordApp = new Word.ApplicationClass();

  object oTemplate = "c:\\MyTemplate.dot";

  oWordDoc = oWordApp.Documents.Add(ref oTemplate, ref Missing,ref Missing, ref Missing);

本新闻共2页,当前在第1页  1  2  

 
收藏】【打印】【进入论坛
  相关文章:

·浅析五大ASP.NET数据控件
·Discuz!NT 3.1 为ASP.net社区提速 
·浅析五大ASP.NET数据控件
·ASP.NET全局异常处理的方法
·asp.net实现验证码
·ASP.NET中在线用户统计
·用ASP.NET加密口令
·Asp.net+Xml开发网络硬盘 
·用ASP.NET构建简单的Web Form 
·ASP.Net中自定义Http处理及应用之HttpModul
·用ASP.NET开发Web服务的五则技巧

 
 
 
 
最新文章

中关村艳照门女主角详记录高清组图 
大连护士门大尺度艳照高清组图
iPhone女孩微博爆红 最宝贵东西换iPhon
反恐精英之父内维尔:改变电脑游戏销售
团购网站黎明之前:中国市场惨烈厮杀不
团购鼻祖Groupon中国揭秘:快与慢的商业
Spil Games发布新的品牌形象
1800配置一台主机 不要显示器
联想V360笔记本模特写真
爱国者第四代移动硬盘将面市、低电压保

 
推荐文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆红 最宝贵东西换
大连护士门大尺度艳照高清组图
中关村艳照门女主角详记录高清组
苹果员工中毒门
宫如敏不雅照疯传 看张馨予韩一菲
深耕市场 永续经营——专访百脑汇
优派专业电子书 让您回家旅途多姿
揭晓百万大奖三星bada魅力绽放中
大明龙权“江湖英雄会”全国PK大
永恒之塔校园达人挑战赛完美落幕
八卦图解 More>>
iPhone女孩微博爆红 最宝贵东西换 大连护士门大尺度艳照高清组图
中关村艳照门女主角详记录高清组 宫如敏不雅照疯传 看张馨予韩一菲