说明:

 excel合并是用选择的两个或更多单元格创建一个单元格的过程。合并单元格时,如果有多个选择的单元格包含数据,则将保留左上角或右上角(取决于当前的视图方向)单元格中的数据,并删除其余的所有数据。

操作方法:

 1 首先创建三个单元格,填充的数据都一致

java中合并单元格存值 java poi 合并单元格_java中合并单元格存值

2 然后再空白地方创建合并单元格,然后选择合并的单元格格式刷就可以对A1:B1:C1进行格式化操作

java中合并单元格存值 java poi 合并单元格_合并单元格_02

上面就可以完成格式化操作

java 中使用poi读取合并的单元格就会存在两个情况

1 如果是保留原始数据的单元格,那默认会会读取这个值

2 如果是不保留原始数据的,则会以空来处理

poi 记录java读取当前excel中合并的行数.

int sheetmergeCount = sheet.getNumMergedRegions();
for (int i = 0; i < sheetmergeCount; i++) {
    CellRangeAddress range = sheet.getMergedRegion(i);
    int firstColumn = range.getFirstColumn();
    int lastColumn = range.getLastColumn();
    int firstRow = range.getFirstRow();
    int lastRow = range.getLastRow();
}

 

/**
 * poi 获取单元格的值
 * @param cell
 * @return
 */
public static String getCellValue(Cell cell) {
    if (cell == null) {
        return "";
    }

    if (cell.getCellType() == Cell.CELL_TYPE_STRING) {

        return cell.getStringCellValue();

    } else if (cell.getCellType() == Cell.CELL_TYPE_BOOLEAN) {

        return String.valueOf(cell.getBooleanCellValue());

    } else if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {

        return cell.getCellFormula();

    } else if (cell.getCellType() == Cell.CELL_TYPE_NUMERIC) {

        return String.valueOf(cell.getNumericCellValue());

    } else {
        cell.setCellType(Cell.CELL_TYPE_STRING);
        return cell.getStringCellValue();
    }
}

注意以上两个合并单元问题就可以了