org.apache.poi.hssf.usermodel.HSSFSheet.getNumMergedRegions()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(194)

本文整理了Java中org.apache.poi.hssf.usermodel.HSSFSheet.getNumMergedRegions()方法的一些代码示例,展示了HSSFSheet.getNumMergedRegions()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。HSSFSheet.getNumMergedRegions()方法的具体详情如下:
包路径:org.apache.poi.hssf.usermodel.HSSFSheet
类名称:HSSFSheet
方法名:getNumMergedRegions

HSSFSheet.getNumMergedRegions介绍

[英]returns the number of merged regions
[中]返回合并区域的数目

代码示例

代码示例来源:origin: stackoverflow.com

for (int i = 0; i < worksheet.getNumMergedRegions(); i++) {
  CellRangeAddress cellRangeAddress = worksheet.getMergedRegion(i);
  if (cellRangeAddress.getFirstRow() == sourceRow.getRowNum()) {

代码示例来源:origin: cuba-platform/yarg

protected void removeMergedRegions(HSSFSheet resultSheet) {
  for (int i = 0, size = resultSheet.getNumMergedRegions(); i < size; i++) {
    resultSheet.removeMergedRegion(0);//each time we remove region - they "move to left" so region 1 become region 0
  }
}

代码示例来源:origin: com.haulmont.yarg/yarg

protected void removeMergedRegions(HSSFSheet resultSheet) {
  for (int i = 0, size = resultSheet.getNumMergedRegions(); i < size; i++) {
    resultSheet.removeMergedRegion(0);//each time we remove region - they "move to left" so region 1 become region 0
  }
}

代码示例来源:origin: org.drools/drools-scorecards

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

代码示例来源:origin: stackoverflow.com

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

代码示例来源:origin: com.bstek.ureport/ureport2-console

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

代码示例来源:origin: org.openl.rules/org.openl.lib.poi.dev

List<CellRangeAddress> shiftedRegions = new ArrayList<CellRangeAddress>();
for (int i = 0; i < getNumMergedRegions(); i++) {
   CellRangeAddress merged = getMergedRegion(i);

代码示例来源:origin: com.haulmont.thirdparty/poi

List<CellRangeAddress> shiftedRegions = new ArrayList<CellRangeAddress>();
for (int i = 0; i < getNumMergedRegions(); i++) {
  CellRangeAddress merged = getMergedRegion(i);

代码示例来源:origin: com.bstek.ureport/ureport2-console

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

代码示例来源:origin: cuba-platform/yarg

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

代码示例来源:origin: com.haulmont.yarg/yarg

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

代码示例来源:origin: com.haulmont.yarg/yarg

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

代码示例来源:origin: cuba-platform/yarg

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

代码示例来源:origin: com.haulmont.yarg/yarg

Integer rangeLastColumn = (int) aref.getLastCell().getCol();
for (int j = 0; j < currentSheet.getNumMergedRegions(); j++) {
  CellRangeAddress mergedRegion = currentSheet.getMergedRegion(j);
  if (mergedRegion != null) {

代码示例来源:origin: com.haulmont.yarg/yarg

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

代码示例来源:origin: cuba-platform/yarg

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

代码示例来源:origin: com.haulmont.yarg/yarg

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

代码示例来源:origin: cuba-platform/yarg

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

代码示例来源:origin: com.haulmont.yarg/yarg

for (int mergedIndex = 0; mergedIndex < resultSheet.getNumMergedRegions(); mergedIndex++) {
  CellRangeAddress mergedRegion = resultSheet.getMergedRegion(mergedIndex);

代码示例来源:origin: cuba-platform/yarg

for (int mergedIndex = 0; mergedIndex < resultSheet.getNumMergedRegions(); mergedIndex++) {
  CellRangeAddress mergedRegion = resultSheet.getMergedRegion(mergedIndex);

相关文章

微信公众号

最新文章

更多

HSSFSheet类方法