我是靠谱客的博主 超级高跟鞋,最近开发中收集的这篇文章主要介绍POI-获取Excel中合并单元格问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目需要读取上传的excel中的合并单元格。于是找到POI包:

主要是poi-x.x.jar 和 poi-ooxml-x.x.jar包

首先是判断当前sheet页是否存在合并单元格,使用getNumMergedRegions()获取当前sheet页中的合并单元格总数.

如下表总共有8行3列【行:0-7;列:0-2】;其中共有合并单元格A、B、E、F、G、H 6个;

int sheetMergedCount = sheet.getNumMergedRegions();//该值为6

然后获取每个单元格的始末行,使用getMergedRegion(int index)函数获取,该函数返回一个CellRangeAddress 类型的区域, index表示合并单元格索引。

按常规思维,本人以为index  = 0 ,就代表合并单元格A的索引。然而……

下面先看一下代码

CellRangeAddress range = sheet.getMergedRegion(0);//index = 0;

然后用getFirstRow()和getLastRow()分别获取当前合并单元格的始末行。也可以用getFirstColumn()和getLastColumn()获取当前合并单元格的始末列。

System.out.println("0 区域的起始行:"+range.getFirstRow()+",结束行:"+range.getLastRow());

得到的输出是0区域的起始行:5,结束行:7

即就是索引0代表的是合并单元格G。

!!!!!

被这种逻辑打败了!发出来作为一次学习记录,也可以提示有需要的童鞋们!

最后

以上就是超级高跟鞋为你收集整理的POI-获取Excel中合并单元格问题的全部内容,希望文章能够帮你解决POI-获取Excel中合并单元格问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部