分享

VSTO开发入门,C#操作Excel对象篇 | 小斯想

 郗peng 2021-07-24

VSTO开发的目的,是用C#语言操作和控制Office对象。可以使用一般的Windows窗体应用程序来访问Office对象,也可以编写Office外接程序和文档自定义项。Windows窗体应用程序比较简单,也是基础,先对该知识点进行一番总结。

如何创建可以访问Excel对象的C#窗体应用程序呢?

1

添加Excel对象引用

一般,VS中创建的C#程序是独立的程序,和office没有任何关系。想要操作具体的office套件l对象,必须先为项目添加关于Office套件的引用,若无引用,C#代码中无法操作office的对象成员。

例如,要访问Excel对象,需要在VS中先添加引用:【项目/添加引用】,在“引用管理器”对话框中,单击【程序集/扩展】,找到“Microsoft.Office.Interop.Excel”,根据Excel版本勾选对应的版本,例如Excel 2010对应的版本号为“14.0.0.0”,单击“确定”。

2

添加Office对象引用

操作Excel对象时,可能会用到Office对象中的Commandbar、FileDialog等对象,可以进一步为项目添加Office对象的引用:打开“引用管理器”对话框,单击【COM/类型库】,勾选“Microsoft Office 14.0 Object Library”。

“确定”后,在项目资源管理器的引用管理下可以看到上述两项引用。此时,就可以正式在VS的C#项目中操作Excel对象了。

3

获取正在运行的Excel对象

为了方便后续的调用,可以在类模块的顶部加入引用时定义简称或别名:

  1. using Excel = Microsoft.Office.Interop.Excel;
  2. using Office = Microsoft.Office.Core;

有了前面的引用,接下来就可以在C#代码中获取正在运行的Excel对象了:

  1. Excel.Application ExcelApp;
  2.  
  3. //获取正在运行的Excel
  4. ExcelApp = (Excel.Application)Marshal.GetActiveObject("Excel.
  5. Application");

通过GetActiveObject函数来获取正在运行的Excel应用程序,实例化ExcelApp。

4

创建新的Excel对象

如果电脑上没有打开的Excel应用程序,可以自行创建Excel对象。创建方式很简单:

  1. Excel.Application NewApp = new Excel.Application();
  2. NewApp.Visible = true;
  3. NewApp.Caption = "新窗口";
5

Application对象常用方法和属性

常用方法示例:

  1. ExcelApp.Undo();//撤销
  2. ExcelApp.Workbooks.Close();//关闭所有工作簿
  3. ExcelApp.Quit();//退出Excel

常用属性示例:

  1. ((Excel.Worksheet)ExcelApp.ActiveSheet).Name = "我的工作表";//重命名活动工作表
  2. Excel.Range rng = (Excel.Range)ExcelApp.Selection;//将选择对象赋值给rng
  3. ExcelApp.StatusBar = "我的Excel窗口"; //改变Excel状态栏文字

以上介绍了操作Excel对象的方法,类似地还可以操作Excel中的Workbook、Worksheet、Range、Commandbar,还可以操作VBE工程,创建Excel自定义函数等等。总之,添加Excel和Office引用后,可以利用C#扩展出很多自定义功能。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多