Excel 二次开发系列(2): Excel 常用操作(创建、打开、读取、写入)

一、再次说明:

前面说到了,Excel 的编程模型,在此模型中,我们最注重的几个对象是:

·         Application

·         Workbook

·         Worksheet

·         Range

为更好地理解对象模型,在这里重新引用 微软的标准文档说明(上次是以一篇博客为例):

·         Application 对象

Excel Application 对象表示 Excel 应用程序本身。Application 对象公开了大量有关正在运行的应用程序、应用于该实例的选项以及在该实例中打开的当前用户的对象的信息。

说明:

不应将 Excel Application 对象的 EnableEvents 属性设置为 false。将此属性设置为 false 将阻止 Excel 引发任何事件,包括宿主控件的事件。

·         Workbook 对象

Microsoft.Office.Interop.Excel..::.Workbook 类表示 Excel 应用程序内的单个工作簿。

通过提供 Microsoft.Office.Tools.Excel..::.Workbook 类(使用该类可以访问 Workbooks 集合的所有成员)以及数据绑定功能和附加事件,Visual Studio Tools for Office 扩展了 Microsoft.Office.Interop.Excel..::.Workbook 类。

·         Worksheet 对象

Microsoft.Office.Interop.Excel..::.Worksheet 对象是 Worksheets 集合的成员。Microsoft.Office.Interop.Excel..::.Worksheet 的许多属性、方法和事件与 Application Microsoft.Office.Interop.Excel..::.Workbook 类提供的成员完全相同或相似。

Excel 提供 Sheets 集合作为 Microsoft.Office.Interop.Excel..::.Workbook 对象的属性,但是 Excel 中没有 Sheet 类。相反,Sheets 集合中的每个成员都是 Microsoft.Office.Interop.Excel..::.Worksheet Microsoft.Office.Interop.Excel..::.Chart 对象。

对于文档级自定义项,Visual Studio Tools for Office 会在新的项目中提供一个 Microsoft.Office.Tools.Excel..::.Worksheet 宿主项,并创建三个实例:Sheet1Sheet2 Sheet3。对其中任何工作表的访问都可以通过 Globals 引用进行。Visual Studio Tools for Office 通过提供 Microsoft.Office.Tools.Excel..::.Worksheet 宿主项来扩展 Microsoft.Office.Interop.Excel..::.Worksheet 对象。

·         Range 对象

Microsoft.Office.Interop.Excel..::.Range 对象是 Excel 应用程序中最常用的对象。在能够处理 Excel 内的任何范围之前,必须将它表示为 Range 对象,并处理该对象的方法和属性。Range 对象表示一个单元格、一行、一列、包含一个或多个单元格块(可以连续,也可以不连续)的单元格选定范围,甚至多个工作表中的一组单元格。

二、一般操作方法:

利用上面的对象就好操作 Excel了:

// 首先注意命名空间:

using  System;
using  System.Collections.Generic;
using  System.Linq;
using  System.Text;
using  System.Windows.Forms;
using  System.Xml.Linq;
using  Excel  =  Microsoft.Office.Interop.Excel;
using  Office  =  Microsoft.Office.Core;
using  Microsoft.Office.Interop.Excel;
using  System.Reflection;

          
// 创建Application对象             
            Excel.Application xApp  =   new  Excel.ApplicationClass();
            xApp.Visible 
=   true ;
            
// 得到WorkBook对象, 下面的是打开已有的文件 
            Excel.Workbook xBook  =  xApp.Workbooks._Open( @" D:\Tomin.xls " ,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value);
           

            
// 指定要操作的Sheet,两种方式: 
            Excel.Worksheet xSheet  =  (Excel.Worksheet)xBook.Sheets[ 1 ];
            
// Excel.Worksheet xSheet=(Excel.Worksheet)xApp.ActiveSheet; 

            
// 读取数据,通过Range对象 
            Excel.Range rng1  =  xSheet.get_Range( " A1 " , Type.Missing); //  Type.Missing 也可以用 Missing.Value
            Console.WriteLine(rng1.Value2);

            
// 读取,通过Range对象,但使用不同的接口得到Range 
            Excel.Range rng2  =  (Excel.Range)xSheet.Cells[ 3 1 ];
            Console.WriteLine(rng2.Value2);

            
// 写入数据 
            Excel.Range rng3  =  xSheet.get_Range( " C6 " , Missing.Value);
            rng3.Value2 
=   " Hello " ;
            rng3.Interior.ColorIndex 
=   6 // 设置Range的背景色 

            
// 保存方式一:保存WorkBook 
            xBook.SaveAs( @" D:\Tomin.xls " ,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value);

            
// 保存方式二:保存WorkSheet 
            xSheet.SaveAs( @" D:\Tomin.xls " ,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value,
            Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);


            
// 保存方式三 
            xBook.Save();
            
//  保存方式四
            xBook.Close( true @" D:\Tomin.xls " , Missing.Value);    

            xSheet 
=   null ;
            xBook 
=   null ;
            xApp.Quit(); 
// 这一句是非常重要的,否则Excel对象不能从内存中退出 
            xApp  =   null ;


以上是一些常用的Excel 操作方法,有了这些方法,就可以很好的去进行Excel的开发了,下班了,要回家了,
下一节我将会和大家一起分享:Excel 二次开发系列(3): 创建Excel二次开发环境    下周见

转载于:https://www.cnblogs.com/tomin/archive/2009/10/16/Excel_second_develepment_serise2.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值