本文根据《C#编程典型实例解析》中例题一整理。

合并前EXCEL表格:

合并后EXCEL表格:

整理的函数如下:

代码

1        /// <summary>
 2         /// 合并指定EXCEL的单元格
 3         /// </summary>
 4         /// <param name="mySheet">指定的EXCEL工作表</param>
 5         /// <param name="startLine">起始行</param>
 6         /// <param name="recCount">总行数</param>
 7         /// <param name="col">要合并的列</param>
 8         private void MergeCell_Second(ref Worksheet mySheet, int startLine, int recCount, string col)
 9         {
10             string qy1 = mySheet.get_Range(col + startLine.ToString(), col + startLine.ToString()).Text.ToString();//获得起始行合并列单元格的填充内容
11 
12             Range rg1;
13             string strtemp = "";
14             bool endCycle = false;
15 
16             //从起始行到终止行做循环
17             for (int i = startLine; i <= recCount + startLine - 1&&!endCycle; )
18             {
19                 for (int j = i + 1; j <= recCount + startLine - 1; j++)
20                 {
21                     rg1 = mySheet.get_Range(col + j.ToString(), col + j.ToString());//获得下一行的填充内容
22                     strtemp = rg1.Text.ToString().Trim();
23 
24                     if (strtemp.Trim()==qy1.Trim() )//内容等于初始内容
25                     {
26                         rg1 = mySheet.get_Range(col + i.ToString(), col + j.ToString());//选取上条合并位置和当前行的合并区域
27                         rg1.ClearContents();//清空要合并的区域
28                         rg1.MergeCells = true;
29                         if (col == "A")
30                             mySheet.Cells[i, 1] = qy1;
31                         else if (col == "B")
32                             mySheet.Cells[i, 2] = qy1;
33 
34                         if (j== recCount + startLine - 1)
35                         {
36                             endCycle = true;
37                         }
38                     }
39                     else//内容不等于初始内容
40                     {
41                         i = j;//i获取新值
42                         qy1 = mySheet.get_Range(col + j.ToString(), col + j.ToString()).Text.ToString();
43                         break;
44                     }
45                 }
46             }
47         }

调用方法如下:

1  MergeCell_Second(ref mySheet,3,recordCount,"A");//调用函数实现A列合并
2  MergeCell_Second(ref mySheet, 3, recordCount, "B");//调用函数实现B列合并

C#合并Excel单元格相关推荐

  1. 如何通过VB合并Excel单元格以及设置Excel行高?VB创建Excel表格,合并单元格,生成图形等操作

    如何通过VB合并Excel单元格以及设置Excel行高? 例如:我想把第一列的第4,5,6,7行合并...我在怎样让合并单元格里的字居中,怎样改变字体. 请不吝赐教... ============== ...

  2. 如何通过 Java 合并和取消合并 Excel 单元格

    在整理 Excel 中的数据时,我们不可避免地需要合并和取消合并单元格.同时,如果需要创建跨列或行的标题,我们可以合并 Excel 单元格以在电子表格中轻松完成此操作. 合并单元格是指将两个或多个单元 ...

  3. 修复Java使用POI合并Excel单元格后,边框不显示的问题

    使用Apache POI生成Excel文档时,当进行单元格合并操作后,被合并的单元格边框会消失,使用如下方式可以解决. 创建方法: public void setBorderStyle(int bor ...

  4. java导出excel合并单元格_Java 导出Excel 合并Excel单元格

    /** * 导出Excel表格 * * @param allList  要导出的数据 * @param headArr  json键值对 * @param titleArr excel标题 * @pa ...

  5. easypoi 模板导入、导出合并excel单元格功能

    easypoi 模板导入.导出合并单元格功能 参考: hutool 导出复杂excel(动态合并行和列) java使用poi读取跨行跨列excel springboot集成easypoi并使用其模板导 ...

  6. java mergecells_Java 合并/取消合并 Excel 单元格

    合并单元格是指将表格中两个或多个位于同一行或者同一列的单元格合并成一个单元格的操作.本文将介绍如何使用Free Spire.XLS for Java在Excel文档中合并和取消合并单元格. 基本步骤: ...

  7. 雅客EXCEL (3)-合并取消单元格、平均值、添加序号

    文章目录 0.引言 1.合并单元格和取消单元格(定位查找法) 2.求平均值函数average 3. 添加序号 0.引言 本文是微商视频<雅客EXCEL>的视频笔记,通过199元购买的,如需 ...

  8. python合并word单元格_python之DataFrame实现excel合并单元格_python

    这篇文章主要为大家详细介绍了python之DataFrame实现excel合并单元格,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元 ...

  9. Python批量拆分Excel文件中已合并的单元格

    中国大学MOOC"Python程序设计基础"第4次开课 推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),董付国,清华大 ...

  10. php如何读取excel合并单元格_PHP读取excel中合并的单元格的值

    RT 在做的一个东西,需要读取excel中个别列的内容,之前用的php excelreader,但是合并的单元格都是空的值,而且我的excel也不好判断只要是空的就用数组中上个的值这种方法,本身exc ...

最新文章

  1. CentOS 漏洞修补
  2. 7/100. Move Zeroes
  3. Java多态性练习——几何图形
  4. 【BZOJ1826】【tyvj2644】缓存交换,贪心+堆维护
  5. 从四大造字法看文字所承载的文化_对央视“汉字的魅力”讲授之管见(《天津教育报》2012年6月15日)...
  6. [转载] python字符串分割
  7. MySQL只有.frm文件恢复表结构
  8. Windows注销后nginx.exe文件仍能继续运行
  9. 两个前端项目利用iframe进行通信
  10. 电脑打开计算机显示远程过程调用失败,win7系统电脑弹出提示“远程过程调用失败且未执行”的解决方法...
  11. 根据两个字段去重SQL语句
  12. 基于Tushare量化分析示例
  13. 市场热度持续提升!4D成像雷达进入「细分场景争夺战」
  14. Linux使用本地光盘制作yum源
  15. js下载文件方法记录
  16. 如何提高自己的java开发功底
  17. java 图片宽高_[Java]获取图片高和宽
  18. WinRAR4.20注册文件key文件注册码
  19. 电商老大的短腿——阿里巴巴曲折的游戏之路
  20. 像电影里黑客高手一样敲代码攻击入侵网站(模拟)

热门文章

  1. 如何在 vscode 中更换炫酷的背景图
  2. PNP和NPN磁感应开关有什么区别
  3. Hexo博客使用LeanCloud统计页面访问次数
  4. 单元测试总结反思_单元测试反思300字
  5. autosar—com模块
  6. YII2 高级版本 发送163邮件
  7. Nvidia Jetson AGX Xavier 安装SATA接口固态硬盘
  8. 海洋cms(海洋视频内容管理系统) v12.5 bulid220618
  9. (五)青龙面板 企业微信应用推送+详细教程【2022年5月20日】
  10. 华硕无线路由打印机服务器,华硕RT-AC86U路由器怎么共享打印机