code: public static CellRangeAddress mergeCells(final Sheet sheet, int startCol, int startRow, int endCol, int endRow) {
          ArgUtils.notNull(sheet, "sheet");
  
          // 結合先のセルの値を空に設定する
          for(int r=startRow; r <= endRow; r++) {
              for(int c=startCol; c <= endCol; c++) {
  
                  if(r == startRow && c == startCol) {
                      continue;
                  }
  
                  Cell cell = getCell(sheet, c, r);
                  cell.setCellType(CellType.BLANK);
              }
          }
  
          final CellRangeAddress range = new CellRangeAddress(startRow, endRow, startCol, endCol);
          sheet.addMergedRegion(range);
          return range;
      }
docs: 指定した範囲のセルを結合する。
  @param sheet
  @param startCol
  @param startRow
  @param endCol
  @param endRow
  @return 結合した範囲のアドレス情報
  @throws IllegalArgumentException {@literal sheet == null}