永发信息网

poi读取Excel,怎么判断这个单元格是否是合并,

答案:2  悬赏:20  手机版
解决时间 2021-03-27 20:04
poi读取Excel,怎么判断这个单元格是否是合并,
最佳答案
//判断表中是否含有合并单元格
public boolean hasMerged() {
return sheet.getNumMergedRegions() > 0 ? true : false;
}

// 判断指定区域内是否含有合并单元格
public boolean hasMerged(Region region) {
for (int row = region.getRowFrom(); row < region.getRowTo(); row++) {
for (short col = region.getColumnFrom(); col < region.getColumnTo(); col++){
for (int i = 0; i < sheet.getNumMergedRegions(); i++) {
Region r = sheet.getMergedRegionAt(i);
if (r.contains(row, col)) {
return true;
}
}
}
}
return false;
}
全部回答
//poi-3.7.jar

public void getCombineCell(HSSFSheet sheet, List list) {
// 获得一个 sheet 中合并单元格的数量
int sheetmergerCount = sheet.getNumMergedRegions();
// 遍历合并单元格
for (int i = 0; i < sheetmergerCount; i++) {
// 获得合并单元格加入list中
CellRangeAddress ca = sheet.getMergedRegion(i);
list.add(ca);
}
}

public static Boolean isCombineCell(List listCombineCell,
HSSFCell cell, HSSFSheet sheet) {
int firstC = 0;
int lastC = 0;
int firstR = 0;
int lastR = 0;
for (CellRangeAddress ca : listCombineCell) {
// 获得合并单元格的起始行, 结束行, 起始列, 结束列
firstC = ca.getFirstColumn();
lastC = ca.getLastColumn();
firstR = ca.getFirstRow();
lastR = ca.getLastRow();
if (cell.getColumnIndex() <= lastC&& cell.getColumnIndex()>= firstC) {
if (cell.getRowIndex() <= lastR && cell.getRowIndex() >= firstR) {
return true;
}
}
}
return false;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求菊文字《浮萍浪蕊》的两篇番外
在繁忙的高中,如何从700名考的前三百,级部
韩国片里有个叫王圣基的是什么电视剧
我喜欢金华火腿冬笋炖粉条怎么做好吃又简单,
衣服上弄上灰怎么去除
我在厂里干了厂3个半月,厂里辞退,辞退原因
3o米井抽水送到3oo米外用多大的水泵扬程多大
哪里有电㬵木木工用手板锯卖
填补下列名句或按要求填空。(8分)(1)子曰
---Thisskirtistoo_______.Wouldyoushowmeano
浪漫情缘婚礼策划地址在什么地方,我要处理点
曲靖到昆明有多少公里
怎么才能知道自己是不是木型人?
求Tari Tari的一张超清图
15.4+0.6×1.5脱式计算
推荐资讯
地球深处的物质,跟我们现在生活上的关系较少
做蛋糕一小匙是多少克
六两二钱是不是好命?
用轮换对称的方法分解因式xy(x-y)^3+yz(y-
直径20厘米PVC管子4米一根的价格是多少?
东马塍三四句表达了作者的什么感情
在重点班A班压力大想转班,但是有点犹豫.我没
elie saab2016春夏走秀音乐
虾酱怎么辨别生与熟,请问我姐姐给了我一瓶虾
Great thanks for your kind consideration o
有谁在淘宝网买过QQ飞车手游CDKEY兑换码,如
毛家饭店的菜在湘菜中出名的有哪些?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?