环境:

Apache POI 3.17;

HSSFSheet;

目的:

对Excel表格中同一列,如果连续的两个或两个以上单元格的内容相同,则对这些单元格进行合并。

实现代码:

/**

* 合并指定Excel sheet页、指定列中连续相同内容的单元格

*

* @param sheet Excel sheet

* @param column 指定列

*/

public static void mergeSpecifiedColumn(HSSFSheet sheet, int column) {

int totalRows = sheet.getLastRowNum(), firstRow = 0, lastRow = 0;

boolean isLastCompareSame = false;//上一次比较是否相同

//这里第一行是表头,从第三行开始判断是否相同

if (totalRows >= 2) {

for (int i = 2; i <= totalRows; i++) {

String lastRowCellContent = sheet.getRow(i - 1).getCell(column).getStringCellValue();

String curRowCellContent = sheet.getRow(i).getCell(column).getStringCellValue();

if (curRowCellContent.equals(lastRowCellContent)) {

if (!isLastCompareSame) {

firstRow = i - 1;

}

lastRow = i;

isLastCompareSame = true;

} else {

isLastCompareSame = false;

if (lastRow > firstRow) {

sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, column, column));

}

}

//最后一行时判断是否有需要合并的行

if ((i == totalRows) && (lastRow > firstRow)) {

sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, column, column));

}

}

}

}

方法调用:

//合并单元格

SrItemsUtil.mergeSpecifiedColumn(sheet, 0);

SrItemsUtil.mergeSpecifiedColumn(sheet, 1);

合并前:

合并后:

java excel相同的合并_Java使用Apache POI合并Excel连续相同内容的单元格相关推荐

  1. EXCEL中合并同列中连续相同内容的单元格

    在用EXCEL进行数据处理时,经常遇到需要合并某一列中连续出现的包含相同值得单元格的情况,以下图为例: A列中是一些保护区的名称,B列种是这些保护区的级别,发现B列只有国家级.省级.县级和拟建四个值, ...

  2. java实现条形图_java – 使用Apache POI在Excel中创建条形图

    P,很难生;-).对于不了解背景 Apache POI supports only ScatterCharts and LineCharts why?的用户.描述了原则上如何进行. 就像我说的.用最简 ...

  3. 如何用Apache POI操作Excel文件-----如何对一个单元格加注解?

    有的时候,我们需要通过操作Apache POI,在生成Cell数据的同时,能对其生成的Cell,加上注解(comments),类似于下面的. 那么对于这种情况,我们的代码应该如何写呢? 借花献佛,我就 ...

  4. 【Apache POI】Excel操作(六):Excel计算公式的读取和使用

    此后如竟没有炬火,我便是唯一的光. 文章目录 前言 Excel准备 计算公式读取 直接读取 屠龙秘技 再直接读取 再通过计算公式读取 完整代码 往期回顾 前言 在上期:[Apache POI]Exce ...

  5. 【Apache POI】Excel操作(八):Excel工具类的封装(终极版)

    恋爱最珍贵的纪念品,从来就不是那些你送我的手表和项链,甚至也不是那些甜蜜的短信和合照.是你留在我身上的,如同河流留给山川的,那些你对我造成的改变. 有目录,不迷路 前言 代码开整 环境准备 正式开整 ...

  6. 【Apache POI】Excel操作(四):Excel大数据量的写入

    迷茫代表着你身边还有选择,焦虑意味着你手上还有时间. 有目录,不迷路 前言 超量数据 速率比较 原因剖析 超级版本大救星 往期回顾 前言 之前在下面这期Excel操作: [Apache POI]Exc ...

  7. Java开发小技巧(六):使用Apache POI读取Excel

    前言 在数据仓库中,ETL最基础的步骤就是从数据源抽取所需的数据,这里所说的数据源并非仅仅是指数据库,还包括excel.csv.xml等各种类型的数据接口文件,而这些文件中的数据不一定是结构化存储的, ...

  8. java excel 操作 poi_Java使用apache poi进行excel相关操作

    一.基本介绍 1.1.Apache POI介绍 Apache POI是一个可以进行微软的文档进行开源库,可以操作的文档类型包括word.ppt.excel.visio.outlook.... 本文主要 ...

  9. java后台处理excel_java后台利用Apache poi 生成excel文档提供前台下载示例

    之前在项目中会用到在java在后台把数据填入Word文档的模板来提供前台下载,为了自己能随时查看当时的实现方案及方便他人学习我写了这篇博客,访问量已经是我写的博客里第一了.于是乎我在学会用Java在后 ...

最新文章

  1. 学习笔记100—强制免费下载 百度文库等网站上文档 以及客道巴巴文档 教程
  2. 利用栈将中缀表达式转化成后缀表达式
  3. CABR:Beamer的内容自适应速率控制算法
  4. ASP.NET中利用ashx实现图片防盗链
  5. 从日志入手,保障 Kubernetes 稳定性
  6. 《2021中国数据资产化工具市场研究报告》隆重发布
  7. Oracle19C的dbhome,Windows server 安装Oracle19c (WINDOWS.X64_193000_db_home.zip) 过程碰到的问题总结...
  8. 图论 —— 带花树算法
  9. **PHP中替换换行符
  10. Spring Security中remember me
  11. 使用记事本编写xml文件保存出现异常原因
  12. java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
  13. 微信小程序访问豆瓣电影api400错误解决方法
  14. 电子工业出版社博文视点在2010年系统架构师大会上集锦
  15. HDU 2686 MCMF
  16. Ubuntu打开swf文件
  17. [Unity][AssetStore][PacakageManager]2020.1版本后的AssetStore如何下载资源并导入编辑器以及Error refreshing packages解决办法
  18. 分布式光纤振动传感技术在电力电缆管道防外力破坏的应用
  19. pandas实现上采样和下采样
  20. IT自动化运维平台建设解决方案

热门文章

  1. python画国际象棋_python用turtle画国际象棋棋盘
  2. 关于JavaScript中 “Uncaught TypeError: date.getDay is not a function“的问题
  3. 魅族手机照片没了怎么恢复
  4. 联想计算机不能进入系统桌面,联想笔记本电脑进不了桌面怎么办
  5. 10款热门的企业报表工具软件,该如何选择?
  6. 传统企业怎么通过抖音引流到微信
  7. 市场对计算机应用技术的需求,计算机应用技术专业人才需求调研分析
  8. 跑步用挂脖耳机好还是无线耳机、公认最好的跑步耳机推荐
  9. 1412202035-hpu-1003:C语言考试练习题_一元二次方程
  10. 小程序 获取今天日期 星期几 不墨迹就是快