zoukankan      html  css  js  c++  java
  • 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。 

  • 相关阅读:
    UVA1349 Optimal Bus Route Design 最优巴士路线设计
    POJ3565 Ants 蚂蚁(NEERC 2008)
    UVA1663 Purifying Machine 净化器
    UVa11996 Jewel Magic 魔法珠宝
    NEERC2003 Jurassic Remains 侏罗纪
    UVA11895 Honorary Tickets
    gdb调试coredump(使用篇)
    使用 MegaCLI 检测磁盘状态并更换磁盘
    员工直接坦诚直来直去 真性情
    山东浪潮超越3B4000申泰RM5120-L
  • 原文地址:https://www.cnblogs.com/happyfish78/p/2795661.html
Copyright © 2011-2022 走看看