asp.net中如何存取到word文档中!

操作WORD配置说明
引入:Word的对象库文件“MSWORD.OLB”(word   2000为MSWORD9.OLB)
1.运行Dcomcnfg.exe
2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft   word   文档
3.点击属性
4.选择“安全性”
5.选定“使用自定义访问权限”和“使用自定义启动权限”
6.分别编辑权限,添加Everyone(ASPNET,VS   Developers,Debugger   User)
7.选择“身份标识”,在选定“交互式用户”   即可
8.在Web.config里加   <identity   impersonate= "true "/>
 
C#:
ASP.NET操作Word文档一直是一个大家比较关心的话题,其实在ASP.NET里操作Word文档一点也不难,大家只需按本文提示,就能轻轻松松操作Word文档!
一、准备工作
      首先请确认服务端已经安装了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源码如下:
using   System;
using   System.Collections;
using   System.ComponentModel;
using   System.Data;
using   System.Drawing;
using   System.Web;
using   System.Web.SessionState;
using   System.Web.UI;
using   System.Web.UI.WebControls;
using   System.Web.UI.HtmlControls;
namespace   word
{
///   <summary>
///   Webform1   的摘要说明。
///   </summary>
public   class   Webform1   :   System.Web.UI.Page
{
protected   System.Web.UI.WebControls.TextBox   SaveAs;
protected   System.Web.UI.WebControls.Button   Button;
protected   System.Web.UI.WebControls.Label   Label2;
protected   System.Web.UI.WebControls.Label   Label1;
protected   System.Web.UI.WebControls.Label   result;
protected   System.Web.UI.WebControls.TextBox   wordText;
#region   Web   form   Designer   generated   code
override   protected   void   OnInit(EventArgs   e)
{
//
//   CODEGEN:该调用是   ASP.NET   Web   窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
///   <summary>
///   设计器支持所需的方法   -   不要使用代码编辑器修改
///   此方法的内容。
///   </summary>
private   void   InitializeComponent()
{
this.Load   +=   new   System.EventHandler(this.Page_Load);
}
#endregion
public   void   Button_Click(object   sender,   System.EventArgs   e)
{
Object   Nothing=System.Reflection.Missing.value;
//取得Word文件保存路径
object   filename=@SaveAs.Text;
//创建一个名为WordApp的组件对象
Word.Application   WordApp=new   Word.ApplicationClass();
//创建一个名为WordDoc的文档对象
Word.Document   WordDoc=WordApp.Documents.Add(ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing);
//增加一表格
Word.Table   table=WordDoc.Tables.Add(WordApp.Selection.Range,1,1,ref   Nothing,ref   Nothing);
//在表格第一单元格中添加自定义的文字内容
table.Cell(1,1).Range.Text=wordText.Text;
//在文档空白地方添加文字内容
WordDoc.Paragraphs.Last.Range.Text= "Wellcome   To   Aspxcn.Com ";
//将WordDoc文档对象的内容保存为DOC文档
WordDoc.SaveAs(ref   filename,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing,ref   Nothing);
//关闭WordDoc文档对象
WordDoc.Close(ref   Nothing,   ref   Nothing,   ref   Nothing);
//关闭WordApp组件对象
WordApp.Quit(ref   Nothing,   ref   Nothing,   ref   Nothing);
//返回结果
result.Text= "文档路径: <a   href= "/ "+SaveAs.Text+ " '> "+SaveAs.Text+ " </a> (点击链接查看) <br> 生成结果:成功! ";
}

private   void   Page_Load(object   sender,   System.EventArgs   e)
{
}
}
}


四、Webform1.aspx代码

      完成CS源码后,我们就可以设计Webform页面了,完整的代码如下:

<%@   Page   language= "c# "   Codebehind= "Webform1.aspx.cs "   AutoEventWireup= "false "   Inherits= "word.Webform1 "   %>
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN "   >
<HTML>
<HEAD>
<title> 基于Webforms的操作Word </title>
<meta   name= "GENERATOR "   Content= "Microsoft   Visual   Studio   7.0 ">
<meta   name= "CODE_LANGUAGE "   Content= "C# ">
<meta   name= "vs_defaultClientScript "   content= "javascript ">
<meta   name= "vs_targetSchema "   content= "http://schemas.microsoft.com/intellisense/ie5 ">
</HEAD>
<body   ms_positioning= "GridLayout ">
<form   id= "form1 "   method= "post "   runat= "server ">
<FONT   face= "宋体 ">
<asp:TextBox   id= "wordText "   style= "Z-INDEX:   101;   LEFT:   144px;   POSITION:   absolute;   TOP:   129px "   runat= "server "   Height= "190px "   Width= "360px "   TextMode= "MultiLine "> </asp:TextBox>
<asp:TextBox   id= "SaveAs "   style= "Z-INDEX:   102;   LEFT:   143px;   POSITION:   absolute;   TOP:   80px "   runat= "server "   Width= "360px "> C:/myword.doc </asp:TextBox>
<asp:Button   id= "Button "   style= "Z-INDEX:   103;   LEFT:   237px;   POSITION:   absolute;   TOP:   340px "   runat= "server "   Width= "98px "   on   onClick= "Button_Click "   Text= "生成Word文档 "> </asp:Button>
<INPUT   style= "Z-INDEX:   104;   LEFT:   361px;   WIDTH:   49px;   POSITION:   absolute;   TOP:   340px;   HEIGHT:   24px "   type= "reset "   value= "重填 "   size= "20 "> </FONT>
<FONT   face= "宋体 "> 基于Webforms的操作Word(小宝.NET) </FONT>
<asp:Label   id= "Label1 "   style= "Z-INDEX:   105;   LEFT:   143px;   POSITION:   absolute;   TOP:   54px "   runat= "server "   Width= "187px "   Height= "18px "> Word文件保存路径: </asp:Label>
<asp:Label   id= "Label2 "   style= "Z-INDEX:   106;   LEFT:   142px;   POSITION:   absolute;   TOP:   107px "   runat= "server "   Width= "159px "   Height= "12px "> Word文件内容: </asp:Label>
<asp:Label   id= "result "   style= "Z-INDEX:   107;   LEFT:   148px;   POSITION:   absolute;   TOP:   387px "   runat= "server "   Width= "352px "   Height= "18px "   ForeColor= "Red "> </asp:Label>
</form>
</body>
</HTML>
五、web.config设置
      web.config文件还需添加一句   <identity   impersonate= "true "/> 以启用模拟身份,因为默认ASPNET这个用户是没有权限访问Word.ApplicationClass(),当启用模拟身份后所有页面将会使用匿名Internet用户帐户(IUSR_machinename)这个用户名的权限执行,这样我们就能成功访问Word.ApplicationClass()并在ASP.NET中操作Word!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值