java poi怎么读取Excel中合并单元格的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java poi怎么读取Excel中合并单元格的值?相关的知识,希望对你有一定的参考价值。

参考技术A

获取合并单元格的值 @param sheet @param row @param column @return。

public String getMergedRegionValue(Sheet sheet, int row, int column)
int sheetMergeCount = sheet.getNumMergedRegions();

for (int i = 0; i < sheetMergeCount; i++)
CellRangeAddress ca = sheet.getMergedRegion(i);
int firstColumn = ca.getFirstColumn();
int lastColumn = ca.getLastColumn();
int firstRow = ca.getFirstRow();
int lastRow = ca.getLastRow();

if (row >= firstRow && row <= lastRow)
if (column >= firstColumn && column <= lastColumn)
Row fRow = sheet.getRow(firstRow);
Cell fCell = fRow.getCell(firstColumn);

return getCellValue(fCell);




return null;

poi读取excel 列宽

poi 解析Excel获取列宽的问题,
我用sheet.getColumnWidth(0)获取单元格的宽度
当出现合并的单元格的时候,宽度会出现问题,比如A,B,C,D几列第一行是合并的,这时我用sheet.getColumnWidth(0)获取宽度,它的数字会很大,也不是ABCD四列加起来的大小,获取的数值足足是实际单元格宽度的好几十倍,不知道有碰到这样的朋友吗,你们是怎么解决的,麻烦分享一下,谢谢

参考技术A 使用poi sheet.getColumnWidth(i)获取列宽时,要注意实际取的值不是我们想要的,看一下它的方法说明:get the width (in units of 1/256th of a character width ),也就是获取的值要除以256,但实际测试中发现即使除以256,也与我们的excel实际的值不同,还是差点。我看到网上有网友总结过规律,建立了方程也处理。你可以查一下相关的资料。

以上是关于java poi怎么读取Excel中合并单元格的值?的主要内容,如果未能解决你的问题,请参考以下文章

poi读取复杂的Excel表格,如图

用java poi包读取Excel单元格

java poi怎么获取excel单元格的内容

poi读取excel 列宽

java poi 导出 excel时 ,合并单元格的问题

求 java用poi包读取excel单元格长度宽度的方法