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文件。具体代码如下:

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

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

其中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-24 14:56:01

C#连接Access

2009-08-21 17:42:36

C#调用API

2009-09-02 14:14:44

C# COM接口转换

2009-08-27 11:21:36

C# override

2009-09-01 13:00:05

C#实现Windows

2009-09-03 13:48:20

C#实现Web服务器功

2009-09-18 10:21:13

C#数组C#串操作

2009-09-16 17:13:54

学习Linq

2009-08-27 15:45:30

C#正则表达式

2009-09-04 14:30:28

C#读取BLOB数据

2010-01-21 14:49:44

VB.NET操作Wor

2011-07-08 13:15:52

JSP

2013-12-18 15:54:21

2011-07-21 13:40:17

java

2010-06-13 13:44:07

UML学习笔记

2009-08-26 15:39:08

C#隐式类型局部变量

2010-06-02 09:06:26

SVN学习
点赞
收藏

51CTO技术栈公众号