没有合适的资源?快使用搜索试试~ 我知道了~
首页c#操作excelc#操作excel
资源详情
资源评论
资源推荐

Excel 是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。Excel 以
其功能强大,界面友好等受到了许多用户的欢迎。在设计应用系统时,对于不同的用户,
他们对于打印的需求是不一样的,如果要使得程序中的打印功能适用于每一个用户,可以
想象程序设计是十分复杂的。由于 Excel 表格的功能强大,又由于几乎每一台机器都安装
了它,如果把程序处理的结果放到 Excel 表格中,这样每一个用户就可以根据自己的需要
在 Excel 中定制自己的打印。这样不仅使得程序设计简单,而且又满足了诸多用户的要求
更加实用了。那么用 Visual C#如何调用 Excel,如何又把数据存放到 Excel 表格中?本文
就来探讨上述问题的解决办法。
Excel 对象
微软的 Excel 对象模型包括了 128 个不同的对象,从矩形,文本框等简单的对象到透
视表,图表等复杂的对象.下面我们简单介绍一下其中最重要,也是用得最多的四个对象
(1) Application 对象。Application 对象处于 Excel 对象层次结构的顶层,表示 Excel 自
身的运行环境。
(2) Workbook 对象。Workbook 对象直接地处于 Application 对象的下层,表示一个
Excel 工作薄文件。
(3) Worksheet 对象。Worksheet 对象包含于 Workbook 对象,表示一个 Excel 工作表。
(4) Range 对象。Range 对象包含于 Worksheet 对象,表示 Excel 工作表中的一个或多个
单元格。
在.net 公用语言框架内运行的程序为受管代码。受管代码在程序中所有类型都受到严格检
查,没有指针,对内存的管理完全由运行系统控制。受控状态下,编写程序更为容易,且
更少出错,我们可以花更多的时间在解决实际问题上而不是在计算机语言问题上。相对而
言,那些在.NET 框架外运行的程序为非受管代码。比如: COM 组件、ActiveX 组件
Win32 API 函数、指针运算等。C#编程中在某些特定情况下,需要运用非受管代码,例如,
要利用一个成熟的 COM 组件,或者调用一个 API 函数,或者用指针去编写实时/高效程序
等。
Visual C#中调用 Excel 的 COM 组件
一个.NET 组件事实上是一个.NET 下的 DLL,它包含的不仅是运行程序本身,更重要
的是包含这个 DLL 的描述信息(Meta Data,即元数据),而一个 COM 组件是用其类库
(TLB)储存其描述信息。这些 COM 组件都是非受管代码,要在 Visual C#中使用这些非
受管代码的 COM 组件,就必须把他们转换成受管代码的.NET 组件。所以在用 Visual C#
调用 Excel 表格之前,必须完成从 COM 组件的非受管代码到受管代码的类库的转换。
1、将 Excel 的 COM 组件转换为.NET 组件
在 项 目 中 打 开 Add Reference 对 话 框 , 选 择 COM 栏 , 之 后 在 COM 列 表 中 找
到"Microsoft Excel 9.0 Object Library"(Office 2000),然后将其加入到项目的 References
中即可。Visual C#.NET 会自动产生相应的.NET 组件文件,以后即可正常使用。
这个转换形成.NET 组件不能单独使用,它不过是以前的 COM 组件的一个外层包装,
在.NET 中可以通过这个外层包装去发现原来的 COM 组件并调用其相应的界面函数。所以
它必须与原来的 COM 组件一起起作用。
2、Visual C#打开 Excel 表格
事实上,在 C#中使用一个经转换的 COM 组件和使用任何一个其它.NET 组件完全一样。
可以用 new 关键字创建一个经转换的 COM 组件,然后再像使用任何一个其它 C#对象一样
使用这个组件对象。
在转换后的.NET 组件中定义了一个命名空间 Excel,在此命名空间中封装了一个类
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0