CellRangeAddress cellRangeAddress = worksheet.getMergedRegion(i); if (cellRangeAddress.getFirstRow() == sourceRow.getRowNum()) { CellRangeAddress newCellRangeAddress = new CellRangeAddress(newRow.getRowNum(),
private List<MergedCellRange> getMergedCellRangeList(HSSFSheet worksheet) { List<MergedCellRange> mergedCellRanges = new ArrayList<MergedCellRange>(); int mergedRegionsCount = worksheet.getNumMergedRegions(); for (int ctr = 0; ctr < mergedRegionsCount; ctr++) { CellRangeAddress rangeAddress = worksheet.getMergedRegion(ctr); mergedCellRanges.add(new MergedCellRange(rangeAddress.getFirstRow(), rangeAddress.getFirstColumn(), rangeAddress.getLastRow(), rangeAddress.getLastColumn())); } return mergedCellRanges; } }
String getMergedRegionStringValue(HSSFSheet sheet, int firstRow, int firstColumn){ for(int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress region = sheet.getMergedRegion(i); int colIndex = region.getFirstColumn(); int rowNum = region.getFirstRow(); //check first cell of the region if(rowNum == firstRow && colIndex == firstColumn){ return sheet.getRow(rowNum).getCell(colIndex).getStringCellValue(); } } }
/** * @deprecated (Aug-2008) use {@link HSSFSheet#getMergedRegion(int)} */ public org.apache.poi.hssf.util.Region getMergedRegionAt(int index) { CellRangeAddress cra = getMergedRegion(index); return new org.apache.poi.hssf.util.Region(cra.getFirstRow(), (short) cra.getFirstColumn(), cra.getLastRow(), (short) cra.getLastColumn()); }
/** * @deprecated (Aug-2008) use {@link HSSFSheet#getMergedRegion(int)} */ public org.apache.poi.hssf.util.Region getMergedRegionAt(int index) { CellRangeAddress cra = getMergedRegion(index); return new org.apache.poi.hssf.util.Region(cra.getFirstRow(), (short)cra.getFirstColumn(), cra.getLastRow(), (short)cra.getLastColumn()); } /**
private boolean isMergedRegion(HSSFSheet sheet, int row, int column) { 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(); if (row > firstRow && row < lastRow) { if (column > firstColumn && column < lastColumn) { return true; } } } return false; }
CellRangeAddress merged = getMergedRegion(i);
CellRangeAddress merged = getMergedRegion(i);
private Span getSpan(HSSFSheet sheet,int row ,int column){ 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(); if(row == firstRow && column==firstColumn){ int lastRow = range.getLastRow(); int rowSpan=lastRow-firstRow; if(rowSpan>0){ rowSpan++; } int colSpan=lastColumn-firstColumn; if(colSpan>0){ colSpan++; } return new Span(rowSpan,colSpan); } } return new Span(0,0); }
private void fixUpBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, int rowIndex, HSSFCell resultCell) { if (rowIndex > 0) { // fix simple up border fixUpCell(sheet, rowIndex - 1, columnIndex, cellStyle); // fix merged up border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstColumn = mergedRegion.getFirstColumn(); int lastColumn = mergedRegion.getLastColumn(); for (int upIndex = firstColumn; upIndex <= lastColumn; upIndex++) { fixUpCell(sheet, rowIndex - 1, upIndex, cellStyle); } break; } } } }
private void fixUpBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, int rowIndex, HSSFCell resultCell) { if (rowIndex > 0) { // fix simple up border fixUpCell(sheet, rowIndex - 1, columnIndex, cellStyle); // fix merged up border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstColumn = mergedRegion.getFirstColumn(); int lastColumn = mergedRegion.getLastColumn(); for (int upIndex = firstColumn; upIndex <= lastColumn; upIndex++) { fixUpCell(sheet, rowIndex - 1, upIndex, cellStyle); } break; } } } }
private void fixLeftBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, HSSFCell resultCell) { if (columnIndex > 1) { fixLeftCell(sheet, resultCell.getRowIndex(), columnIndex - 1, cellStyle); // fix merged left border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstRow = mergedRegion.getFirstRow(); int lastRow = mergedRegion.getLastRow(); for (int leftIndex = firstRow; leftIndex <= lastRow; leftIndex++) { fixLeftCell(sheet, leftIndex, columnIndex - 1, cellStyle); } break; } } } }
private void fixLeftBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, HSSFCell resultCell) { if (columnIndex > 1) { fixLeftCell(sheet, resultCell.getRowIndex(), columnIndex - 1, cellStyle); // fix merged left border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstRow = mergedRegion.getFirstRow(); int lastRow = mergedRegion.getLastRow(); for (int leftIndex = firstRow; leftIndex <= lastRow; leftIndex++) { fixLeftCell(sheet, leftIndex, columnIndex - 1, cellStyle); } break; } } } }
CellRangeAddress mergedRegion = currentSheet.getMergedRegion(j); if (mergedRegion != null) { Integer regionFirstRow = mergedRegion.getFirstRow();
private void fixDownBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, int rowIndex, HSSFCell resultCell) { // fix simple down border fixDownCell(sheet, rowIndex + 1, columnIndex, cellStyle); // fix merged down border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstColumn = mergedRegion.getFirstColumn(); int lastColumn = mergedRegion.getLastColumn(); int regionHeight = mergedRegion.getLastRow() - mergedRegion.getFirstRow() + 1; for (int downIndex = firstColumn; downIndex <= lastColumn; downIndex++) { fixDownCell(sheet, rowIndex + regionHeight, downIndex, cellStyle); } break; } } }
private void fixDownBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, int rowIndex, HSSFCell resultCell) { // fix simple down border fixDownCell(sheet, rowIndex + 1, columnIndex, cellStyle); // fix merged down border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstColumn = mergedRegion.getFirstColumn(); int lastColumn = mergedRegion.getLastColumn(); int regionHeight = mergedRegion.getLastRow() - mergedRegion.getFirstRow() + 1; for (int downIndex = firstColumn; downIndex <= lastColumn; downIndex++) { fixDownCell(sheet, rowIndex + regionHeight, downIndex, cellStyle); } break; } } }
private void fixRightBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, HSSFCell resultCell) { fixRightCell(sheet, resultCell.getRowIndex(), columnIndex + 1, cellStyle); // fix merged right border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstRow = mergedRegion.getFirstRow(); int lastRow = mergedRegion.getLastRow(); int regionWidth = mergedRegion.getLastColumn() - mergedRegion.getFirstColumn() + 1; for (int rightIndex = firstRow; rightIndex <= lastRow; rightIndex++) { fixRightCell(sheet, rightIndex, columnIndex + regionWidth, cellStyle); } break; } } }
private void fixRightBorder(HSSFCellStyle cellStyle, HSSFSheet sheet, int columnIndex, HSSFCell resultCell) { fixRightCell(sheet, resultCell.getRowIndex(), columnIndex + 1, cellStyle); // fix merged right border for (int i = 0; i < sheet.getNumMergedRegions(); i++) { CellRangeAddress mergedRegion = sheet.getMergedRegion(i); if (mergedRegion.isInRange(resultCell.getRowIndex(), resultCell.getColumnIndex())) { int firstRow = mergedRegion.getFirstRow(); int lastRow = mergedRegion.getLastRow(); int regionWidth = mergedRegion.getLastColumn() - mergedRegion.getFirstColumn() + 1; for (int rightIndex = firstRow; rightIndex <= lastRow; rightIndex++) { fixRightCell(sheet, rightIndex, columnIndex + regionWidth, cellStyle); } break; } } }
CellRangeAddress mergedRegion = resultSheet.getMergedRegion(mergedIndex);
CellRangeAddress mergedRegion = resultSheet.getMergedRegion(mergedIndex);