浏览代码

fix mergeRegion

Looly 5 年之前
父节点
当前提交
cb761ffea2

+ 1 - 0
CHANGELOG.md

@@ -26,6 +26,7 @@
 * 【core   】     解决ListUtil计算总量可能的int溢出问题(pr#1150@Github)
 * 【json   】     解决JSON中转换为double小数精度丢失问题(pr#192@Gitee)
 * 【core   】     修复CaseInsensitiveMap的remove等方法并没有忽略大小写的问题(pr#1163@Gitee)
+* 【poi    】     修复合并单元格值读取错误的问题
 
 -------------------------------------------------------------------------------------------------------------
 

+ 1 - 1
hutool-poi/src/main/java/cn/hutool/poi/excel/cell/CellUtil.java

@@ -103,7 +103,7 @@ public class CellUtil {
 			cellType = cell.getCellTypeEnum();
 		}
 
-		if(CellType.BLANK == cellType){
+		if(CellType.BLANK == cellType || CellUtil.isMergedRegion(cell)){
 			// 空白单元格可能为合并单元格
 			cell = getMergedRegionCell(cell);
 			cellType = cell.getCellTypeEnum();

+ 5 - 2
hutool-poi/src/test/java/cn/hutool/poi/excel/test/ExcelReadTest.java

@@ -215,9 +215,12 @@ public class ExcelReadTest {
 	}
 
 	@Test
+	@Ignore
 	public void readTest() {
 		final ExcelReader reader = ExcelUtil.getReader("d:/test/人员体检信息表.xlsx");
-		final List<List<Object>> read = reader.read();
-//		Console.log(read);
+		final List<List<Object>> read = reader.read(2);
+		for (List<Object> list : read) {
+			Console.log(list);
+		}
 	}
 }