要开发Excel的项目,就自然少不了对Excel对象模型的了解了,只有了解Excel对象模型,这样才能更好地对Excel进行处理。下面先给出一张Excel对象模型的图:

下面就具体对上图中的各个对象做一个简单的介绍:
Application对象——Excel中的Application对象表示Excel应用程序,该对象是所有Excel对象的根,你可以通过Application对象,获取到其他对象,在外接程序中,我们可以通过下面的方式来获得Application对象:Globals.ThisAddIn.Application

Workbooks对象代表Workbook对象的集合,而Workbook对象表示Excel中的单个工作簿,我们可以通过下面的方式来获得工作簿对象:Globals.ThisAddIn.Application.ThisWorkbook

Worksheets对象代表Worksheet对象的集合,而Worksheet代表的就是Excel中的表,下面的代码可以获得Worksheet对象:Globals.ThisAddIn.Application.ThisWorkbook.ActiveSheet (激活的表,每次打开一个Excel文件,都是表一即sheet1被激活,所以通过该代码就说获得表一对象)

Range对象代表一个范围,是操作Excel文档最常用的对象,它可以表示为一个单元格、一行、一列或多个单元格块(可以连续,也可以不连续)的单元格选定范围,甚至多个工作表中的一组单元格。可能上面的解释过于枯燥,相信大家通过下图可以更好地理解Excel中的各个对象:

 现在我们来模拟一个需求,比如现在有一个成绩单工作表,我们希望获得各科目不及格同学的名字。此时我们只需要在上面创建的工作簿项目中添加一个ComboBox,一个Button,一个textbox。在button的Click事件中添加下面的代码:

代码:
// 找出各科目不及格同学的名字
private void btnSearch_Click(object sender, EventArgs e)
{
// 清除textbox中的内容
txtResult.Clear(); // 从复选框中获得选择的科目索引
int subjectIndex = cbxsubjects.SelectedIndex;
if (subjectIndex == -1)
{
MessageBox.Show("请先选择一个科目");
return;
} // 获得选择的科目名称
string subjectName = cbxsubjects.SelectedItem.ToString();
// 获得工作表对象
Excel.Worksheet worksheet =(Excel.Worksheet)Globals.ThisWorkbook.ActiveSheet; for (int row = 2; row < worksheet.UsedRange.Rows.Count+1; row++)
{
Excel.Range rng =(Excel.Range)worksheet.Cells[row,subjectIndex + 2];
Excel.Range rng1 = (Excel.Range)worksheet.Cells[row, 1];
if (rng.Value< 60)
{
txtResult.Text += rng1.Value + "; ";
}
}
if (txtResult.Text.Length == 0)
{
txtResult.Text = subjectName + "没有不及格的同学";
}
}

  

VSTO学习(二)——Excel对象模型的更多相关文章

  1. java学习(二)--excel导出

    public static String writeFile(String fileName, String[][] content) { WritableWorkbook wwb = null; S ...

  2. VSTO学习笔记(二)Excel对象模型

    原文:VSTO学习笔记(二)Excel对象模型 上一次主要学习了VSTO的发展历史及其历代版本的新特性,概述了VSTO对开发人员的帮助和效率提升.从这次开始,将从VSTO 4.0开始,逐一探讨VSTO ...

  3. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

  4. VSTO学习笔记(九)浅谈Excel内容比较

    原文:VSTO学习笔记(九)浅谈Excel内容比较 说起文件内容比较,或许我们首先想到的是UltraCompare这类专业比较的软件,其功能非常强大,能够对基于文本的文件内容作出快速.准确的比较,有详 ...

  5. VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式

    原文:VSTO 学习笔记(十一)开发Excel 2010 64位自定义公式 Excel包含很多公式,如数学.日期.文本.逻辑等公式,非常方便,可以灵活快捷的对数据进行处理,达到我们想要的效果.Exce ...

  6. VSTO学习笔记(十四)Excel数据透视表与PowerPivot

    原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...

  7. VSTO学习笔记(七)基于WPF的Excel分析、转换小程序

    原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...

  8. VSTO 学习笔记(六)在 Excel 2010中使用RDLC报表

    原文:VSTO 学习笔记(六)在 Excel 2010中使用RDLC报表 Excel具有强大的图表显示.分析功能,这点毋庸置疑,但是如果将常规MIS系统中的数据以报表的形式在Excel中显示,却并不那 ...

  9. VSTO学习笔记(五)批量编辑Excel 2010 x64

    原文:VSTO学习笔记(五)批量编辑Excel 2010 x64 近期因为工作的需要,经常要批量处理大量的Excel文件,如果纯手工一个个修改,非常的麻烦,于是写了这么一个帮助类,希望能对你有所帮助. ...

随机推荐

  1. Java的进阶之道

    Java的进阶之道 一.温馨提示 尽量用google查找技术资料.(条件允许的话) 有问题在stackoverflow找找,大部分都已经有人回答. 多看官方的技术文档. ibm developerwo ...

  2. win10 新增删除文件不刷新

    实际上是桌面图标缓存出问题,以下是一个简单动作即可解决问题. 按Win+R键打开“运行”窗口,输入如下命令后按回车键执行: ie4uinit -show 立竿见影,效果同360,魔方等工具软件,可参考 ...

  3. IP之ALTDDIO_in仿真

    需要添加altera_mf库,才可以仿真. 上升沿输出,把前一个时钟的数据输出来. `timescale 1 ns/ 1 ns; module altddio_in_ip_tb; reg rst; r ...

  4. MarkdownPad 2.x破解下载

    Markdown是一种轻量级的标记语言,目前有不少Markdown编辑器,其他的编辑器,诸如:Notepad++.Sublime Text 2也通过插件添加了支持.Markdown的特点就是易读易写, ...

  5. @Autowired 和 @Qualifier

    一 无冲突 bean工厂 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  6. handsontable 问题

    碰到问题了,去官网上找community:http://docs.handsontable.com/0.16.1/tutorial-quick-start.html 1. 描述:把handson ta ...

  7. 发个招聘贴,魔都求手游C++后端,UNITY前端,开发实习生

    上海游旺网络科技有限公司成立于2015年5月,是一家极具潜力的新创移动游戏公司.公司初创团队均来自腾讯,盛大,畅游,墨麟,蜗牛等知名互联网公司,公司创始人团队参与制作过<鬼吹灯><Q ...

  8. delphi_xe开发ios环境的安装与设置

     http://wenku.baidu.com/link?url=NE3xJOZiLppdxCbXJX3W0vyLHv6uA_U8uamjx9NJIIcxnfuC2P9eWx3d6Xwco-ugS8G ...

  9. NetCore入门篇:(十二)在IIS中部署Net Core程序

    一.简介 微软已经为net在iis中的部署提供了良好的支持,在IIS中部署NetCore是一件很容易的事. 二.在IIS中部署Net Core程序 1.微软官方文档有详细说明.进入 2.如果你已经熟悉 ...

  10. 『原创』手把手教你搭建一个实用的油耗App(一)

    前言: 入行快10年,有点积蓄,三年前买了代步车.于是乎,汽车油耗开销就成了每个月都必须关注的问题.三年来,用过了无数油耗记录软件,比如最知名的“小熊油耗”,从第一次用,一直到最新一版,感觉越来越“臃 ...