VSTO开发入门,C#操作Excel对象篇

原创 小斯  2020-12-18 19:48 

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对象

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

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

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

Excel.Application ExcelApp;

//获取正在运行的Excel
ExcelApp = (Excel.Application)Marshal.GetActiveObject("Excel.
Application");

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

4

创建新的Excel对象

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

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

Application对象常用方法和属性

常用方法示例:

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

常用属性示例:

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

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

本文地址:https://cas01.com/6479.html
公 众 号 :注意两个号的区别,小斯想专注于OneNote和思维导图等具体的知识管理软件的经验分享。(OneNote为主);cas01专注于知识管理理论及实践成果的分享。(知识管理理论及实践)。
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,转载请保留出处。

发表评论


表情