原文:Excel的Range对象(C#)

Range 对象是 Excel 应用程序中最经常使用的对象;在操作 Excel 内的任何区域之前,都需要将其表示为一个 Range 对象,然后使用该 Range 对象的方法和属性。一个 Range 对象代表一个单元格、一行、一列、包含一个或者更多单元块(可以是连续的单元格,也可以式不连续的单元格)的选定单元格,甚至是多个工作表上的一组单元格。

在代码中引用范围。

Address 属性:这个属性返回范围坐标的字符串,坐标以下面几种格式之一表示,包括:“$A$”(单元格在位置 A1)、“$”(在工作表的第一行)和“$A$:$C$”(范围包括介于 A1 和 C5 之间矩形内的所有单元格)。“$”表示绝对坐标(而非相对坐标)。

Excel.Worksheet ws = (Excel.Worksheet)ThisWorkbook.Worksheets[];
Excel.Range rng;
rng = ThisApplication.ActiveCell;
rng = ws.get_Range("A1", Type.Missing);//使用对象的 Range 属性指定一个区域
rng = ws.get_Range("A1:B12", Type.Missing);//使用对象的 Range 属性指定一个区域
rng = (Excel.Range)ws.Cells[, ];//使用工作表的 Cells 属性,指定单个行和列值
rng = ThisApplication.Range("SomeRangeName", Type.Missing);//引用一个命名范围 rng = ws.Range("A1", "C5")//直接引用范围的 Cells、Rows 或 Columns 属性,作用相同
rng = ws.Range("A1", "C5").Cells
rng = ws.Range("A1", "C5").Rows
rng = ws.Range("A1", "C5").Columns rng = (Excel.Range)ws.Rows[, Type.Missing];//引用特定行或特定列或行和列的范围
rng = (Excel.Range)ws.Rows["1:3", Type.Missing];
rng = (Excel.Range)ws.Columns[, Type.Missing]; //Application 对象的 Selection 属性返回与选定单元格对应的范围
rng = (Excel.Range)ThisApplication.Selection; //创建一个包含其他两个合并范围的范围(在引号内指定两个范围,并用逗号隔开)
rng = ThisApplication.get_Range("A1:D4, F2:G5", Type.Missing);//与后三行效果相同
rng1 = ThisApplication.get_Range("A1", "D4");
rng2 = ThisApplication.get_Range("F2", "G5");
rng = ThisApplication.Union(rng1, rng2, Type.Missing, Type.Missing, ……); //创建一个引用其他两个范围重叠部分的范围(在引号内指定两个范围,并不使用分隔符)
rng = ThisApplication.get_Range("A1:D16 B2:F14", Type.Missing);//与后三行效果相同
rng1 = ThisApplication.get_Range("A1", "D16");
rng2 = ThisApplication.get_Range("B2", "F14");
rng = ThisApplication.Intersect(rng1, rng2,Type.Missing, Type.Missing, Type.Missing, Type.Missing,……); //使用范围的 Offset 属性取得相对于初始范围的一个偏移
rng = (Excel.Range) ws.Cells[, ];
for (int i = ; i <= ; i++)
{
rng.get_Offset(i, ).Value2 = i.ToString();
} //使用范围的 CurrentRegion 属性取得一个代表当前区域的范围,这个当前区域由最近的空行和列限定,即连接在一起的单元格
ThisApplication.get_Range("C3", Type.Missing).CurrentRegion.Font.Bold = true; //使用范围的 Areas 属性取得范围集合,其中每个范围对应于范围内容的一个区域 rng = ThisApplication.get_Range("Test", Type.Missing);
for (int i = ; i <= rng.Areas.Count; i++)
{
MessageBox.Show(
rng.Areas[i].get_Address(Type.Missing, Type.Missing,
Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing));
}
//使用 End 属性,以及一个 XlDirection 枚举值(xlUp、xlToRight、xlToLeft、xlDown)来取得一个代表区域末端单元格的范围(即四个方向上离该选中范围最远的单元格)
Excel.Range rngLeft, rngRight, rngUp, rngDown;
rng = (Excel.Range) ThisApplication.Selection;
rngRight = rng.get_End(Excel.XlDirection.xlToRight);
rngLeft = rng.get_End(Excel.XlDirection.xlToLeft);
rngUp = rng.get_End(Excel.XlDirection.xlUp);
rngDown = rng.get_End(Excel.XlDirection.xlDown); //使用 EntireRow 或 EntireColumn 属性引用包含特定范围的行或列
rng = ThisApplication.get_Range("Test", Type.Missing);
rng.Areas[].EntireRow.Font.Bold = true; 在代码中操作范围。 自动填充:AutoFill
查找:Find
排序:Sort
Cells 获取一个 Range 对象,该对象表示工作表上的所有单元格(不仅仅是当前正在使用的单元格)。
Cells[行,列] Columns 获取一个表示工作表上的所有列的 Range 对象
Rows 获取一个表示工作表上的所有行的 Range 对象

Excel的Range对象(C#)的更多相关文章

  1. Excel VBA Range对象基本操作应用示例

    [示例01] 赋值给某单元格[示例01-01] Sub test1()Worksheets("Sheet1").Range("A5").Value = 22Ms ...

  2. 8 Range 对象

    8.1 引用Range 引用Range的主要方法: Application.ActiveCell Application.Range Application.Selection Worksheet.C ...

  3. VB默认属性、动态数组、Range对象的默认属性的一点不成熟的想法

    1.默认属性 VB6.0有默认属性的特性.当没有给对象指定具体的属性时,"默认属性"是VB6.0将使用的属性.在某些情形下,省略常用属性名,使代码更为精简. 因为CommandBu ...

  4. VB类模块中属性的参数——VBA中Range对象的Value属性和Value2属性的一点区别

    在VB中,属性是可以有参数的,而VBA中属性使用参数非常常见.比如最常用的:Worksheet.Range("A1:A10")  VB的语法,使用参数的不一定是方法,也有可能是属性 ...

  5. html5学习笔记5--API Range对象(二)

    Range对象之cloneRange和cloneContents 代码效果如下 首次点击“选择内容“按钮提示如下 接着会显示 最后显示 以下为整个代码 <!DOCTYPE html> &l ...

  6. html5学习笔记4--API Range对象(一)

    Range对象基本用法 效果图如下(在谷歌浏览器下的展示)

  7. getSelection、range 对象属性,方法理解,解释

    网上转了一圈发现没有selection方面的解释,自己捣鼓下 以这段文字为例子.. <p><b>法国国营铁路公司(SNCF)20日承认,</b>新订购的2000列火 ...

  8. Range对象理解,浏览器兼容性,获取鼠标光标位置

    一.关于浏览器的兼容性 目前主要有3种关于range的类似的对象,分别是W3C range 对象,Mozzlia selection ,ie TextRange 关于这三种的区别,请查看文档 http ...

  9. HTML5中的Range对象的研究

    一:Range对象的概念 Range对象代表页面上的一段连续区域,通过Range对象,可以获取或修改页面上的任何区域,可以通过如下创建一个空的Range对象,如下: var  range = docu ...

随机推荐

  1. 【u024】没有上司的舞会

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就 ...

  2. matlab 机器学习相关函数、api

    matlab 对数据集的默认组织方式是,X∈Rd×N d:行数,表示特征向量的长度: N:列数,表示样本的数目: 1. 模型.预测.mse % 加载 matlab 内置数据到内存 X = abalon ...

  3. 【bzoj2002】弹飞绵羊(分块)

    题目分析 题意:每个点都有一个值$v_i$,从一个点出发,每走到一个点,会跳到i+vi的位置,问需要跳多少次能跳出n?带修改. 此题可以用lct做,此处使用了分块:将序列分块后,每个点记录从此点最少跳 ...

  4. hive 分区表与数据产生关联的三种方式

    所谓关联,可以理解为能够使用select查询到 1.load 这是最常用的一种方式 load data [local] inpath "数据路径" into table table ...

  5. vector, list, deque的选用(vector适用少量对象,list适用大量对象),以及效率问题

    如何选择这三个容器中哪一个,应根据你的需要而定,一般应遵循下面的原则:  1.如果你需要高效的随机存取,而不在乎插入和删除的效率,使用vector  2.如果你需要大量的插入和删除,而不关心随机存取( ...

  6. hadoop 3.x 配置历史服务器

    修改$HADOOP_HOME/etc/hadoop/mapred-site.xml,加入以下配置(修改主机名为你自己的主机或IP,尽量不要使用中文注释) <!--history address- ...

  7. ServletContextListener接口用法

    ServletContextListener接口用于tomcat启动时自动加载函数,方法如下: 一.需加载的类必须实现ServletContextListener接口. 二.该接口中有两个方法必须实现 ...

  8. 使用nodejs 来压缩整个目录

    var fstream = require('fstream'), tar = require('tar'), zlib = require('zlib'); fstream.Reader({ 'pa ...

  9. [MVVM Light]Messenger 的使用

    原文:[MVVM Light]Messenger 的使用 当我们使用MVVM开发模式进行开发时,ViewModel之间的通信常常是很头疼的事情,好在MVVM Light提供了Messenger类可以轻 ...

  10. WPF 3D 模型旋转

    原文:WPF 3D 模型旋转 WPF 是 Microsoft 在 Framework3.0 中支持的一种技术,它能作出很绚丽的界面,同时它也支持3D的操作.在3D操作主要包括平移(Translate) ...