asp.net操作word文档

C#调用office interop接口打开word、excel、ppt,拦截处理关闭、保存事件 阅读详情

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;
Web form Designer generated code
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!

GPU资源池化:技术原理与应用场景全解析 GPU资源池化技术已成为AI时代高效利用算力的关键方案。该技术通过硬件虚拟化、容器化编排和智能调度三个核心层面,实现GPU资源的共享与优化,可将平均利用率从不足30%提升至60-80%。主流方案包括NVIDIA全栈解决方案、云原生Kubernetes生态及开源工具,适用于企业AI平台、大模型训练和边缘推理等场景。虽然面临性能隔离、资源碎片等挑战,但随着硬件虚拟化细化和AI驱动调度算法的发展,GPU池化正向着智能化、自动化方向演进,推动实现"算力如水电"的愿景。 阅读详情

相关推荐

PCL 八叉树的使用

八叉树(Octree)是一种空间划分的数据结构,广泛应用于三维点云的处理和分析。八叉树通过将空间递归地划分为八个子区域,可以有效地组织和索引三维点数据,提升点云的查询、降采样和配准等操作的效率。

纵马踏花向自由 1638

Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

本文主要介绍了Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件的具体实例。文章篇尾附上源码下载,有兴趣的朋友可以看下 1.功能说明 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome)、IE9/10、Firefox通过 2.分类文件及代码说明 DemoFiles 存放可测试文件 Default.asp

技术资料收集站 1万+

YOLO目标检测PCB缺陷数据集(含5000张图片)+对应voc、coco和yolo三种格式标签+划分脚本+训练教程.rar

1、YOLO目标检测PCB缺陷数据集,真实场景的高质量图片数据,数据场景丰富。使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(json)和yolo(txt)三种格式标签,分别存放在不同文件夹下,可以直接用于YOLO系列的目标检测。2、附赠YOLO环境搭建、训练案例教程和数据集划分脚本,可以根据需求自行划分训练集、验证集、测试集。3、数据集详情展示和更多数据集下载:https://blog.csdn.net/m0_64879847/article/details/1323019754、如需更多数量和其他数据集请私信博主~

.net 引用Microsoft.Office.Interop.Word.dll对word文件进行操作

.net 4.0以上版本添加引用,如果不是4.0以上版本可能没有这个,自己去下载一个Microsoft.Office.Interop.Word.dll应该也可以。    引用完成之后,如果直接用vs进行跑是没有问题的,但是放在iis上面会提示: 检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-00000000004

z542601362的专栏 3万+

Asp.Net 使用office组件Microsoft.Office.Interop.Word.DLL将Word转为HTML(随手笔记)

1.引用程序集。 using MSWord = Microsoft.Office.Interop.Word; using Microsoft.Ajax.Utilities; using Microsoft.Office.Interop.Word; 2.代码块 using System; using System.Collections.Generic; using System.IO; using...

qq_41863998的博客 1021

.net html 写入word文档,asp.net 写入word (Microsoft.Office.Interop.Word)经验记录(看不明白问我)...

//从控件中导出输出到html上的内容private void ExpertControl(System.Web.UI.Control repeater, DocumentType type){//关闭控件的视图状态repeater.Page.EnableViewState = false;//初始化HtmlWriterSystem.IO.StringWriter writer = new Sys...

weixin_32808905的博客 343

ASP.NET操作Word文档

操作WORD配置说明引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB)(这是针对老版本的情况,在用vs.net2005的时候,直接在引用对话框中,在com组件里找到对word的库文件的引用就可以了,文件名好像是一样的.)1.运行Dcomcnfg.exe 2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档

kaigood的专栏 4115

asp.net操作word文档的方法

操作WORD配置说明 引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB) 1.运行Dcomcnfg.exe 2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档.点击属性 4.选择

blncle的专栏 929

Asp.net如何操作Word文档

引用Word对象库文件 具体做法是打开菜单栏中的项目>添加引用>浏览,在打开的“选择组件”对话框中找到MSWORD.OLB后按确定即可引入此对象库文件,vs.net将会自动将库文件转化为DLL组件,这样我们只要在源码中创建该组件对象即可达到操作Word的目的!   常用生成word文档的代码   public string CreateWordFile(string Checke

学习也休闲 2080

ASP.NET中使用Microsoft Word文档

ASP.NET中使用Microsoft Word文档[来源]http://www.codeproject.com/useritems/wordapplication.asp[作者]Michela[下载本文中使用的演示工程] 工程文件 大小:309 Kb[介绍]    本文是应在ASP.NET里创建Microsoft Word文档之需而写的。这篇文章演示了在ASP.NET里怎么

tanrui的专栏 1638

Word处理控件Aspose.Words功能演示:在 ASP.NET MVC 中创建 MS Word 编辑

Aspose.Words for .NET提供了一套完整的功能,用于在大量的.NET 应用程序中操作和转换 MS Word 文档。在本文中,我将向您展示如何利用Aspose.Words for .NETWord 处理功能ASP.NET MVC 中创建基于 Web 的MS Word 编辑器。此外,Aspose.Words for .NET将用于将 Word 文档的内容呈现为 HTML,以便根据更新的内容编辑和生成 Word 文档。以下是创建 ASP.NET Word 编辑器的步骤。

励志做最业余的专业博主,控件产品可以私我~ 612

.net 实现Office文件预览,word文件在线预览、excel文件在线预览、ppt文件在线预览,excel转html,office格式转换,

近日公司要搞一个日常的文档管理的东东,可以上传、下载各种文件,如果是office文件呢还必须得支持预览功能,其他的都好说但是唯独office预览功能比较麻烦,但是不能不做,废话不多说了一步步来吧。分析了下网易邮箱的文件预览功能,他用的是微软的组件,最早叫Office online,现在分开了叫Word online、Excel online ....等等,效果十分炫酷功能十分强大,但是查看了下对a

dgcaxbnk的专栏 1938

.net 实现Office文件预览 Word PPT Excel 2015-01-23 08:47 63人阅读 ...

先打个广告: .Net交流群:252713569 本人QQ :524808775 欢迎技术探讨, 近期公司要求上传的PPT和Word都需要可以在线预览.. 小弟我是从来没有接触过这一块的东西 感觉很棘手..不过网络是强大的,还是让我找到了解决方案,记载一下.实现无任何插件的预览,swf文件是比较好的. PDF则需要有这个插件才能预览..那么转换的过程如下 以PPT 为例 : ...

weixin_33754913的博客 241

office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

yehaocheng520的博客 1万+

ASP.NET MVC利用aspose实现word预览

1. 引入aspose.word插件 2. 准备好word文档,或者利用aspose.word生成word文档 3. 调用Aspose.Words.Document类下的Save方法生成html或者图片 这里生成的html效果不是太好,右对齐的文字跑到页面最右端 可以生成图片,实现预览,效果挺好。 代码: /// <summary> /// word文档预览 ...

一根火柴博客 1673
上一篇: 林斌博士写好代码十个秘诀
下一篇: 如果你必须开发交互式页面,ViewState越大可能意味着越有本事
46539492
博客等级 码龄23年 119粉丝 29原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值