C#.NET绑定Office浅析

开发 后端
这里介绍C#.NET绑定Office,下列步骤说明了如何创建使用早期绑定的自动化客户端。请注意,正如这些步骤所说明的那样,早期绑定要求您引用自动化客户端的类型库。

早期C#.NET绑定Office

采用早期绑定时,Visual C# 使用有关所涉及C#.NET绑定Office应用程序的可用类型信息直接绑定到它需要使用的方法或属性。编译器可以执行类型和语法检查,以确保传递到方法或属性的参数的数量和类型正确无误,并且返回的值是所期望的类型。由于早期绑定在运行时调用属性或方法所需的工作量较小,因此有时速度较快。然而,虽然早期绑定可能速度较快,但与晚期绑定之间的性能差异通常不大。 

早期绑定确实有这样一个小缺点:可能会带来版本兼容性问题。例如,假定诸如 Microsoft Excel 2002 之类的自动化服务器引入了 Excel 2000 中没有的新方法或属性,或者更改了现有的属性或方法。这些更改可能会改变对象的二进制布局,并导致使用 Excel 2002 类型信息实现 Excel 2000 自动化的 Visual C# 应用程序出现问题。为了避免早期绑定发生这样的问题,通常建议您在开发和测试自动化客户端时,使用您希望支持的最低版本的 Office 应用程序的类型信息。 

下列步骤说明了如何创建使用早期绑定的自动化客户端。请注意,正如这些步骤所说明的那样,早期绑定要求您引用自动化客户端的类型库。

创建使用早期绑定的自动化客户端

启动 Microsoft Visual Studio .NET。在文件菜单上,单击新建,然后单击项目。从 Visual C# 项目类型中选择 Windows 应用程序。默认情况下会创建 Form1。

添加对 Microsoft Excel 对象库的引用。为此,请按照下列步骤操作:
◆在项目菜单上,单击添加引用。
◆在 COM 选项卡上,找到 Microsoft Excel 对象库并单击选择。
注意:Office 2003 包含主 Interop 程序集 (PIA)。Office XP 不包含 PIA,但您可以下载 PIA。 有关C#.NET绑定Office的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
328912 INFO:Microsoft Office XP PIA 可供下载
◆在添加引用对话框中单击确定以接受您的选择。如果系统提示您为选定的库生成包装,请单击是。
◆在视图菜单上,选择工具箱以显示工具箱,然后向 Form1 添加一个按钮。
◆双击 Button1。将出现该窗体的代码窗口。
◆在代码窗口中,将以下代码

  1. privatevoidbutton1_Click(objectsender,System.EventArgse){  
  2. }  
  3. 替换为:privatevoidbutton1_Click(objectsender,System.EventArgse)  
  4. {  
  5. Excel.ApplicationobjApp;  
  6. Excel._WorkbookobjBook;  
  7. Excel.WorkbooksobjBooks;  
  8. Excel.SheetsobjSheets;  
  9. Excel._WorksheetobjSheet;  
  10. Excel.Rangerange;  
  11. try  
  12. {  
  13. //InstantiateExcelandstartanewworkbook.  
  14. objApp=newExcel.Application();  
  15. objBooks=objApp.Workbooks;  
  16. objBook=objBooks.Add(Missing.Value);  
  17. objSheets=objBook.Worksheets;  
  18. objSheet=(Excel._Worksheet)objSheets.get_Item(1);  
  19. range=objSheet.get_Range("A1",Missing.Value);  
  20. range.set_Value(Missing.Value,"Hello,World!");
  21. //ReturncontrolofExceltotheuser.  
  22. objApp.Visible=true;  
  23. objApp.UserControl=true;  
  24. }  
  25. catch(ExceptiontheException)  
  26. {  
  27. StringerrorMessage;  
  28. errorMessage="Error:";  
  29. errorMessage=String.Concat(errorMessage,theException.Message);  
  30. errorMessage=String.Concat(errorMessage,"Line:");  
  31. errorMessage=String.Concat(errorMessage,theException.Source);   
  32. MessageBox.Show(errorMessage,"Error");  
  33. }  

【编辑推荐】

  1. C#字符串操作步骤
  2. C#集成开发环境浅析
  3. Visual C# .NET应用程序
  4. C# TimeLabel控件详解
  5. C#复合控件开发技术
责任编辑:佚名 来源: cnblogs
相关推荐

2009-08-24 16:30:43

C#.NET绑定Off

2009-08-25 13:53:20

C#.NET rege

2009-08-26 14:23:14

C#.Net Fram

2011-06-17 15:55:19

ArrayListC#

2009-08-13 10:35:55

C#.NET操作XML

2009-08-26 10:09:22

C#编码规范

2009-09-11 11:30:53

Net60C#.NET

2009-08-19 15:44:09

ObjectARX .

2009-08-07 15:34:15

ASP.NET数据绑定

2009-08-19 16:05:46

AutoCADEditor类

2009-04-02 15:21:43

c#IDisposeFinalize

2009-08-28 09:29:02

2009-08-31 14:45:15

C#.NET多线程应用

2009-08-03 18:15:05

ASP.NET数据绑定

2009-09-04 17:27:46

C# DES

2009-07-31 18:12:58

ASP.NET数据绑定

2009-09-15 15:40:25

C# 绑定

2009-08-28 14:15:19

SocketVisual C#.N

2009-08-19 16:19:33

Employee对象

2011-06-01 15:45:28

实体类序列化
点赞
收藏

51CTO技术栈公众号