欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
}

相关标签: Java