Java POI获取Excel文件单元格的跨行跨列信息
程序员文章站
2022-07-13 13:12:12
...
最近做了个功能,需解析Excel文件,变成前端handsontable需要的数据格式,关于如何获取Excel列的跨行跨列关键核心代码记录如下:
获取cell跨的行数
/**
* 获取cell跨的行数
* @param cell
* @param sheet
* @return
*/
public static int getRowSpan(Cell cell, XSSFSheet sheet) {
int rowSpan = 1;
List<CellRangeAddress> list = sheet.getMergedRegions();
for (CellRangeAddress cellRangeAddress : list) {
if (cellRangeAddress.isInRange(cell)) {
rowSpan = cellRangeAddress.getLastRow() - cellRangeAddress.getFirstRow() + 1; // +1是因为如果没跨,就算1
break;
}
}
return rowSpan;
}
获取cell跨的列数
/**
* 获取cell跨的列数
* @param cell
* @param sheet
* @return
*/
public static int getColSpan(Cell cell, XSSFSheet sheet) {
int colSpan = 1;
List<CellRangeAddress> list = sheet.getMergedRegions();
for (CellRangeAddress cellRangeAddress : list) {
if (cellRangeAddress.isInRange(cell)) {
colSpan = cellRangeAddress.getLastColumn() - cellRangeAddress.getFirstColumn() + 1; // +1是因为如果没跨,就算1
break;
}
}
return colSpan;
}