[推荐]ASP.NET中C#下操作WORD
| 作者:wurf |
| 首先请确认服务端已经安装了Office Word(以下将以Office XP为例),操作系统为win2000或XP,并且已配置好.NET的运行环境及安装VS.NET C#开发环境后,我们就可以打开VS.NET,并新建一个Visual C#项目>ASP.NET Web应用程序,位置为“http://localhost/word”。(如图一) | |
![]() (图一) | |
|
二、引用Word对象库文件 | |
| 要操作Word,我们就需要Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB),通常安装了Office Word后,你就可以在office安装目录的Office10文件夹下面找到这个文件,当我们将这个文件引入到项目后,我们就可以在源码中使用各种操作函数来操作Word。具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的! | |
![]() (图二) | |
|
三、WebForm1.aspx.cs代码 | |
|
完成添加引用后,MSWORD.OLB已经转化为相关DLL文件并放置于项目的BIN目录下了,这样我们只需在源码中创建该对象,并使用word库文件内置的操作函数即可轻松实现操作Word,WebForm1.aspx.cs源码如下: | |
| |
|
四、WebForm1.aspx代码 | |
|
完成CS源码后,我们就可以设计WebForm页面了,完整的代码如下: | |
| |
|
五、web.config设置 | |
|
web.config文件还需添加一句 <identity impersonate="true"/>以启用模拟身份,因为默认ASPNET这个用户是没有权限访问Word.ApplicationClass(),当启用模拟身份后所有页面将会使用匿名Internet用户帐户(IUSR_machinename)这个用户名的权限执行,这样我们就能成功访问Word.ApplicationClass()并在ASP.NET中操作Word!(如图三,图四) | |
![]() (图三)没有设置模拟时的出错画面
| |
|
六、总结 | |
| 到此为止,我们已经完成并掌握了基于WebForm操作Word的方法了,作者在此仅抛砖引玉为大家作一简单介绍,如有兴趣大家可以继续研究,同样,此方法也可就用于操作Excel,只不过引用的库文件不同而已。另外,本文的配套源码可到DotNet中华网(aspxcn.com)得到! |





浙公网安备 33010602011771号