Excel生成报表之解决方案--合并单元格的用法

首先看下Excel中合并单元格的效果:

其中单元格区域的C2到D3被合并。要用组件Acey.ExcelX如何能生成这样合并的效果呢?

首先:导入命名空间。

using Acey.ExcelX;

 1   //创建工作薄。
 2  IWorkbook workbook = ExcelxApplication.CreateWorkbook();
 3   //获取指定索引的工作表。
 4  IWorksheet worksheet = workbook.Worksheets[0];
 5   //根据单元格的名称获取单元格对象。
 6  ICell cell = worksheet.Cells["C2"];
 7   //向单元格对象中赋值。
 8  cell.Value = "AceyOffice";
 9   //创建单元格区域。
10  IRange range = worksheet.Cells.CreateRange("C2:D3");
11   //合并该单元格区域。
12   range.Merge();
13 
14   //保存该工作薄为指定类型。
15  string xlsFile = @"d:\MergeCells.xls";
16   workbook.SaveAs(xlsFile, FileFormat.Excel97To2003);

要实现合并单元格效果,只要实现2个步骤就能实现:

1.创建要操作的单元格区域:其中 IRange range = worksheet.Cells.CreateRange("C2:D3");参数C2:D3表示单元格区域的范围。

2.合并该单元格区域:通过方法range.Merge();来实现合并的效果。

只要编写上述代码就能轻松实现单元格合并的效果。但编程人员在实现项目中可能需要一个工作表中有多处实现合并的效果,是否要对每个合并的单元格区域都要创建

单元格区域后,再合并该单元格区域呢。你可以用这样的方式去实现,但是Acey.ExcelX提供了更为简单和快捷的方式,能实现不需要创建Range对象也能实现合并的

效果,其中IWorksheet接口提供了方法void Merge(int firstRow, int firstColumn, int totalRows, int totalColumns);就能帮助实现合并的效果,其中参数firstRow

和firstColumn表示单元格开始行和列的索引(以零为基数),totalRows指定要合并的行数,totalColumns指定要合并的列数。

第一种合并方法代码:

 //创建单元格区域。
 IRange range = worksheet.Cells.CreateRange("C2:D3");
 //合并该单元格区域。
 range.Merge();

被替换为下面的代码:

//合并工作表中指定单元格区域。
worksheet.Merge(1, 2, 2, 2);

不需要创建Range对象就能简单快速的实现合并单元格区域的效果。

总结

无需安装微软Excel,用代码也能很轻松实现单元格合并的效果。 下载最新版本(已支持中文版)到www.aceyoffice.com。如果您想对Acey.ExcelX有进一步了解,在网站下载帮助和Demo。 

转载于:https://www.cnblogs.com/happyfish78/archive/2012/11/30/2795661.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值