background image

.NET 操作 Excel 表格的整理

 

首先需要引用一个 COM 引用: Microsoft Excel 11.0 Object Library. 在程序代
码中添加命名空间 Microsoft.Office.Interop.Excel 的引用. 然后就可以跟 Excel
进行操作了.

基 本 的 Excel 对 象

Application: 每个 Application 对象表示一个 Excel 程序, 在程序中每创建一个
该对象就启动 Excel

 

程序的一个实例

Workbook: 每个 Workbook 对象表示一个 Excel 工作薄, 在同一个 Excel 程序

 

中可以打开多个工作薄
Worksheet: 每个 Worksheet 对象表示一个 Excle 工作表, 在同一个 Excel 工作

 

薄中可以打开多个工作表
Range: 每个 Range 对象表示 Excel 工作表上的一个区域, 该区域可以是一个单
元格, 也可以是多个单元格的组合. 区域可以是连续的, 

 

也可以是离散的

简 单 的 代 码 实 现 对 Excel 的 操 作

1
2
3
4
5
6
7
8

private

 

void

 

button1_click(object

 

sender, EventArgs e) 

Microsoft.Office.Interop.Excel.Application app1 = new 

Microsoft.Office.Interop.Excel.Application(); 

app1.visible = true; 

Workbook book1 = app1.Workbooks.Add(Type.Missing); 

Wroksheet sheet1 = (Worksheet)book1.Sheets[1]; 

Range rng1 = sheet1.get_Range("A1", Type.Missing); 

rng.Value2 = "hello"; 

}

这样点击按钮之后就会发现新建了一个 Excel, 这个 Excel 里有一个表格, 在 A1
的单元格里显示文本 hello.

Workbook book1 = 

app1.Workbooks.Add(Type.Missing);

除了 Add 这个方法外, 如果想打开一个已经存在的表格, 并对它进行操作, 可以使
用 Open 方法.
获取区域值的方法, 返回的是一个 Object 类型的数组:

1
2
3
4

sheet1.get_Range("B2", Type.Missing); //返回 B2

 

单元格

sheet1.get_Range("A1:C10", Type.Missing); //返回左上角 A1 到右下角

C10

 

区域单元格