C#中操作Excel的方法(二)之技巧篇

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

本来想写一个系列文章,系统介绍一下C#操作Excel。实在时间太紧张,加上看到CSDN Blog上面已经有不少介绍C#操作Excel的文章了,这里就记录一些小技巧吧。本篇文章以后应该还会更新,逐渐把遇到的一些C#操作Excel的小技巧都写进来。这种小技巧可能对于大多数人都意义不大,只是有用到的时候一时还不太好查,毕竟,C#中操作Excel的许多方法和VB/VBA中已经大不相同了。呵呵,就不把它放到首页显示了吧。

1:操作合并单元格

Range的Merge()和UnMerge()方法大家想必熟悉了,此外Range对象还有两个成员属性:

(1)MergeCells属性:bool型,是否为合并单元格.在C#中,如果不是合并单元格,将产生异常。

(2)MergeArea属性:对于合并单元格,将返回其合并单元格的Range对象。

如下方法可用于检查并填充Excel中的合并单元格:

static bool CheckRangIsMerge(Range rng)

{

bool bMerge=false;

try

{

if(rng.MergeCells.ToString()==bool.TrueString)

{

bMerge=true;

Excel.Range mrng=rng.MergeArea;

mrng.UnMerge();

for(int i=0;i<mrng.Rows.Count;i++)

{

for(int j=0;j<mrng.Columns.Count;j++)

{

rng.get_Offset(i,j).Value2=rng.Value2;

}

}

}

}

catch(Exception ex)

{

Console.WriteLine("Error:{0}",ex.Message.ToString());

bMerge=false;

}

return bMerge;

}

注意:调用的时候,最好只传递一个单元格组成的Range。原因如下:如果Range(A1,B1)为合并单元格,则在检查Range(A1,C1)的MergeCells属性的时候,并不会得到true的结果。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航