C#读取Word学习经验总结

开发 后端
C#读取Word的过程有建立工程、代码逻辑分析、实现等等步骤,这里向你详细介绍C#读取Word的实现方法。

C#读取Word学习经验总结向你介绍了C#读取Word具体的从建立工程开始到逻辑分析***是代码实现的步骤过程,希望对你了解和学习C#读取Word有所帮助。

C#读取Word1. 建立工程

在ASP.NET里操作Word的***步就是添加COM引用到你的工程里,通过右键点击“解决方案资源管理器”的“引用”,添加引用。选择COM选项卡,添加Microsoft Word 12.0 Object Library(其中12.0是Word版本号,根据当前电脑上安装的Word版本确定)。 ASP.Net会自动生成Word的COM包装类程序集添加到应用程序目录里。

C#读取Word2. 代码逻辑

在服务器端访问本地存在的Word文件,并根据他新建一个文件,利用Word的标签定位赋值。客户端浏览器通过文件链接访问到这个新生成的Word文件。具体代码如下:

private void Page_Load(object sender, System.EventArgs e)  
{  
// 在此处放置用户代码以初始化页面  
object Missing = Type.Missing;  
//取得Word文件路径   
string strTemp = "doc/test.doc";   
//新Word文件保存路径  
string newFileName = "doc/test2.doc";  
//创建一个名为WordApp的组件对象   
Application WordApp = new ApplicationClass();   
//必须设置为不可见  
WordApp.Visible = false;  
 
try 
{  
//创建以strTemp为模板的文档  
object oTemplate = Server.MapPath(strTemp);  
Document WordDoc = WordApp.Documents.Add(ref oTemplate, ref   
 
Missing,ref Missing, ref Missing);  
WordDoc.Activate();  
 
//对标签"Title"进行填充  
string strBM = "Title";  
object objBM = strBM;  
if(WordApp.ActiveDocument.Bookmarks.Exists(strBM) == true)  
{  
WordApp.ActiveDocument.Bookmarks.get_Item(ref objBM).Select();  
WordApp.Selection.TypeText("公文标题");  
}   
 
//保存为新文件  
object oNewFileName = Server.MapPath(newFileName);  
WordDoc.SaveAs(ref oNewFileName, ref Missing,ref Missing, ref   
 
Missing,ref Missing,ref Missing,ref Missing,  
ref Missing,ref Missing,ref Missing, ref Missing, ref Missing, ref   
 
Missing, ref Missing, ref Missing, ref Missing);  
WordDoc.Close(ref Missing, ref Missing, ref Missing);  
 
WordApp.Quit(ref Missing, ref Missing, ref Missing);   
}  
catch(Exception Ex)  
{  
throw new Exception(Ex.Message);  
}  
 
//浏览器弹出下载框﹥  
Page.RegisterStartupScript("""﹤script﹥window.open('"+newFileName+"')  
 
﹤/script﹥");  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.

运行前,工程目录下建文件夹doc, doc里新建一个test.doc,内容自己定,手动插入一个名为“Title”的标签。此代码在VS.Net2003+WinXP+Office2007 下运行通过。

C#读取Word时遇到的问题:

如果你在运行时出现下面的调试错误:

拒绝访问 
  • 1.

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
 
异常详细信息: System.UnauthorizedAccessException: 拒绝访问。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 ﹤identity impersonate="true"/﹥ 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

出现以上错误时,表明ASP.NET进程无法对具有用户界面的Word进行自动化调用,必须由一个拥有桌面的用户角色来启动ASP.NET进程。

解决方法:在Web.config文件的System.Web节里添加

﹤identity impersonate="true" userName="*" password="*" /﹥ 
  • 1.

其中userName和password是你电脑里的Windows登录账户。

C#读取Word的基本内容就向你介绍到这里,希望那个对你了解和学习C#读取Word有所帮助。

【编辑推荐】

  1. C#项目代码规范详解
  2. C#项目初期准备工作浅析
  3. C#项目的创建过程详解
  4. 详解C#读取word内容操作
  5. C#读取Word文件实例详解
责任编辑:仲衡 来源: CSDN
相关推荐

2009-08-13 18:13:27

C#学习经验

2009-08-11 14:20:41

C# .NET学习经验

2009-08-07 09:47:17

C#枚举C#数组

2009-08-21 17:42:36

C#调用API

2009-08-24 14:56:01

C#连接Access

2009-09-02 14:14:44

C# COM接口转换

2009-08-27 11:21:36

C# override

2009-09-18 10:21:13

C#数组C#串操作

2009-09-03 13:48:20

C#实现Web服务器功

2009-09-01 13:00:05

C#实现Windows

2009-09-16 17:13:54

学习Linq

2009-08-27 15:45:30

C#正则表达式

2011-07-21 13:40:17

java

2010-06-13 13:44:07

UML学习笔记

2013-12-18 15:54:21

2009-08-26 15:39:08

C#隐式类型局部变量

2009-09-04 14:30:28

C#读取BLOB数据

2011-07-08 13:15:52

JSP

2010-01-21 14:49:44

VB.NET操作Wor

2010-06-02 09:06:26

SVN学习
点赞
收藏

51CTO技术栈公众号