C# 操作Excel对象

C# 操作Excel对象


1. Excel对象类型概述

Excel主要的对象有:

  • Application:Excel应用程序对象,最顶层的对象。

  • Workbook:工作簿对象。

  • Worksheet:工作表对象。

  • Range:单元格区域对象

  • Window:窗口对象。

下面还有一些常用对象:

  • ActiveWorkbook:活动工作簿。

  • ActiveSheet:活动工作表。

  • ActiveWindow:活动窗口。

  • Selection:Excel所选对象。

  • Cells:工作表或区域的所有单元格。

1.1 Application对象

代表整个 Microsoft Excel 应用程序。利用Application对象的属性可以方便地控制Excel应用程序的工作环境。

1.2 Workbook对象

工作簿集合对象Workbooks是Application的一个成员对象,这个集合对象表示应用程序所有打开的工作簿(不包含加载宏文件)。

Workbook对象则是指某一特定的工作簿,例如Workbo[2]表示第二个工作簿。所有和工作簿有关的操作,例如打开、关闭、保存都是Workbook的方法。

1.3 Worksheet对象

Worksheet对象之下有Worksheets集合对象以及Sheets集合对象,这两个对象的区别在于,Worksheets只包括工作簿下的所有一般工作表,而Sheets则表示所有的表对象,例如Excel宏表、图表工作表等,都是Sheet的成员。

那么Worksheets的个体对象就是Worksheet,使用Worksheet1对象可以对工作表进行显示、隐藏、增加、移动和删除等操作。

1.4 Range对象

Range对象是指单元格区域,它是Worksheet之下的一个成员对象。单元格的填充和清空、行列的插入和删除等操作都是Range对象范畴操作。

Range使用单元格地址作为参数来确定具体操作的区域。

ActiveSheet.Range["A2:D6"] //指定A2:D6单元格区域

Range["2:4"] //第二列到第四行

1.5 Window对象

它是Workbook下的一个集合对象。其中任意窗口都是Window对象。改变其属性可以设置是否显示网格线,是否显示标尺,是否显示行号、列标等。

Application之下 有一个ActiveWindow对象,指当前活动窗口。这个对象也是Window对象,在开发过程中经常用到。

2.创建可以访问Excel对象的C#窗体应用程序

添加Excel2016和Office2016的引用

为了控制Excel对象,需要为项目添加关于Excel和Office的引用:

点击菜单【项目/添加引用】,在“引用管理器”对话框中点击【程序集/扩展】,找到:“Microsoft.Office.Interop.Excel”,由于是要操作Excel2016,所以勾选版本号为“16.0.0.0”,单击确定。

由于程序中可能会用到OFfice对象,为此还需要为项目添加Office对象的引用:

再次打开“引用管理器”,单击【COM/类型库,勾选】“Microsoft Office 16.0 Object Library”

添加代码引用

using System.Runtime.InteropServices; //提供 COM互操作的库

using Excel Microsoft.Office.Interop.Excel; 

using Office = Microsoft.Office.Core;

1. 获得Excel对象

Excel.Application ExcelApp = (Excel.Application)Marshal.GetActiveObject("Excel.Application");//如果没有存在Excel进程则会报错

2. 创建新的Excel对象

Excel.Application ExcelApp = new Excel.Application();     

ExcelApp.Visible = true;//是否可见

ExcelApp.Caption = "new app";//窗口标题

3. Application常用属性

 ((Excel.Worksheet)ExcelApp.ActiveSheet).Name = "MySheet"; //重命名活动工作表

 Excel.Range rng = (Excel.Range)ExcelApp.Selection; //获得Excel所选对象

 ExcelApp.StatusBar = "My Excel Application"; //改变Excel状态栏文字

 //常用属性            

 Console.WriteLine(ExcelApp.Workbooks.Count); //显示工作簿个数

 Console.WriteLine(ExcelApp.UserName); //显示用户名

 ExcelApp.DisplayFormulaBar = false; //隐藏公式编辑栏

3.操作Application对象

3.1 Application常用方法

ExcelApp.Undo(); //相当于Ctrl+Z

ExcelApp.Workbooks.Close(); //关闭所有工作簿

ExcelApp.Quit(); //退出Excel

4.操作Workbook对象

4.1 Workbook对象常用属性

Excel.Workbook wbk;

wbk = ExcelApp.ActiveWorkbook;//wbk为活动工作簿

wbk = ExcelApp.Workbooks[1];//wbk为第一个工作簿

wbk = ExcelApp.Workbooks["Hello.xls"];//使用名称确定工作簿

wbk.Worksheets.Count;//给出工作簿中一般工作表的个数

wbk.Sheets.Count;//给出工作簿中所有类型的工作表个数

//遍历打开的工作簿

foreach (Excel.Workbook wb in ExcelApp.Workbooks)

{

wb.Name

}

//常用属性

bool sv = wbk.Saved;//工作簿是否已保存

string path = wbk.Path;//工作簿文件路径

bool pwd = wbk.HasPasswork;//是否有密码保护

你可能感兴趣的:(C# 操作Excel对象)