操作excel获取范围,设置属性

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

在代码中引用范围。

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

Excel.Worksheet ws = (Excel.Worksheet)ThisWorkbook.Worksheets[1];
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[1, 1];//使用工作表的 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[1, Type.Missing];//引用特定行或特定列或行和列的范围
rng = (Excel.Range)ws.Rows["1:3", Type.Missing];
rng = (Excel.Range)ws.Columns[3, 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[1, 1];
for (int i = 1; i <= 5; i++)
{
    rng.get_Offset(i, 0).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 = 1; 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[2].EntireRow.Font.Bold = true;


在代码中操作范围。

自动填充:AutoFill
查找:Find
排序:Sort
Cells 获取一个 Range 对象,该对象表示工作表上的所有单元格(不仅仅是当前正在使用的单元格)。
Cells[行,列]

Columns 获取一个表示工作表上的所有列的 Range 对象
Rows 获取一个表示工作表上的所有行的 Range 对象


  //str = "A1:G" + (excelrows + 1).ToString();
                        //ws_brandMedium.get_Range(str).NumberFormatLocal = "@";//设置格式
                        //ws_brandMedium.get_Range(str).Value2 = dataArray;
                         //workSheet.get_Range(workSheet.Cells[2,1],workSheet.Cells[rowCount+1,colCount]).Value2=data;
                         //range = workSheet.Range[workSheet.Cells[2, 1], workSheet.Cells[rowCount + 1, colCount]];
                         //range.Value = data;
                        //ws_brandMedium.get_Range(ws_brandMedium.Cells[1, 1], ws_brandMedium.Cells[rowTitles.Count + 1, columnTitles.Count + 1]).Value2 = dataArray;
                       // ws_brandMedium.Range[ws_brandMedium.Cells[1, 1], ws_brandMedium.Cells[rowTitles.Count + 1, columnTitles.Count + 1]].Value = dataArray;



range.NumberFormatLocal = "@";     //设置单元格格式为文本     

range = (Range)worksheet.get_Range("A1", "E1");     //获取Excel多个单元格区域:本例做为Excel表头     

range.Merge(0);     //单元格合并动作     

worksheet.Cells[1, 1] = "Excel单元格赋值";     //Excel单元格赋值   

range.Font.Size = 15;     //设置字体大小   

range.Font.Underline=true;     //设置字体是否有下划线     

range.Font.Name="黑体";      设置字体的种类   

range.HorizontalAlignment=XlHAlign.xlHAlignCenter;     //设置字体在单元格内的对其方式     

range.ColumnWidth=15;     //设置单元格的宽度     

range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb();     //设置单元格的背景色     

range.Borders.LineStyle=1;     //设置单元格边框的粗细     

 range.BorderAround

            XlLineStyle.xlContinuous,XlBorderWeight.xlThick,XlColorIndex.xlColorIndexAutomatic,System.Drawing.Color.Black.ToArgb());     //给单元格加边框   

 

  range.Borders.get_Item(Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeTop).LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlLineStyleNone; //设置单元格上边框为无边框   

 

   range.EntireColumn.AutoFit();     //自动调整列宽     

Range.HorizontalAlignment= xlCenter;     // 文本水平居中方式   

Range.VerticalAlignment= xlCenter     //文本垂直居中方式    

Range.WrapText=true;     //文本自动换行     

Range.Interior.ColorIndex=39;     //填充颜色为淡紫色     

Range.Font.Color=clBlue;     //字体颜色     

xlsApp.DisplayAlerts=false;     //保存Excel的时候,不弹出是否保存的窗口直接进行保存 

range = (Range)worksheet.get_Range("A1", "E1");      //获取Excel多个单元格区域:本例做为Excel表头

 

range.Merge(0);      //单元格合并动作

 

worksheet.Cells[1, 1] = "Excel单元格赋值";      //Excel单元格赋值

 

range.Font.Size = 15;      //设置字体大小

 

range.Font.Underline=true;      //设置字体是否有下划线

 

range.Font.Name="黑体";      设置字体的种类

 

range.HorizontalAlignment=XlHAlign.xlHAlignCenter;      //设置字体在单元格内的对其方式

 

range.ColumnWidth=15;      //设置单元格的宽度

 

range.Cells.Interior.Color=System.Drawing.Color.FromArgb(255,204,153).ToArgb();      //设置单元格的背景色

 

range.Borders.LineStyle=1;      //设置单元格边框的粗细

 

range.BorderAround(XlLineStyle.xlContinuous,XlBorderWeight.xlThick,XlColorIndex.xlColorIndexAutomatic,System.Drawing.Color.Black.ToArgb());      //给单元格加边框

 

range.EntireColumn.AutoFit();      //自动调整列宽

 

Range.HorizontalAlignment= xlCenter;      // 文本水平居中方式

 

Range.VerticalAlignment= xlCenter      //文本垂直居中方式

 

Range.WrapText=true;      //文本自动换行

 

Range.Interior.ColorIndex=39;      //填充颜色为淡紫色

 

Range.Font.Color=clBlue;      //字体颜色

 

xlsApp.DisplayAlerts=false;      //保存Excel的时候,不弹出是否保存的窗口直接进行保存

 

   workbook.SaveCopyAs(temp);/**填入完信息之后另存到路径及文件名字


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值