Package org.apache.poi.hssf.util

Examples of org.apache.poi.hssf.util.CellRangeAddress


   * @Description: 创建标题行(需合并单元格)
   */
  private static void createTableTitleRow(ExportSetInfo setInfo,
      HSSFSheet[] sheets, int sheetNum)
  {
    CellRangeAddress titleRange = new CellRangeAddress(0, 0, 0,
        setInfo.getFieldNames().get(sheetNum).length);
    sheets[sheetNum].addMergedRegion(titleRange);
    HSSFRow titleRow = sheets[sheetNum].createRow(0);
    titleRow.setHeight((short) 800);
    HSSFCell titleCell = titleRow.createCell(0);
View Full Code Here


   * @Description: 创建日期行(需合并单元格)
   */
  private static void createTableDateRow(ExportSetInfo setInfo,
      HSSFSheet[] sheets, int sheetNum)
  {
    CellRangeAddress dateRange = new CellRangeAddress(1, 1, 0,
        setInfo.getFieldNames().get(sheetNum).length);
    sheets[sheetNum].addMergedRegion(dateRange);
    HSSFRow dateRow = sheets[sheetNum].createRow(1);
    dateRow.setHeight((short) 350);
    HSSFCell dateCell = dateRow.createCell(0);
View Full Code Here

    row.setHeightInPoints(height);
  }


  public void mergeCells(int firstRow,int lastRow,int firstCol,int lastCol) {
    sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol));
  }
View Full Code Here

  public boolean updateFormulasAfterCellShift(FormulaShifter shifter, int currentExternSheetIx) {
    CellRangeAddress[] cellRanges = header.getCellRanges();
    boolean changed = false;
    List temp = new ArrayList();
    for (int i = 0; i < cellRanges.length; i++) {
      CellRangeAddress craOld = cellRanges[i];
      CellRangeAddress craNew = shiftRange(shifter, craOld, currentExternSheetIx);
      if (craNew == null) {
        changed = true;
        continue;
      }
      temp.add(craNew);
View Full Code Here

      return cra;
    }
    Ptg ptg0 = ptgs[0];
    if (ptg0 instanceof AreaPtg) {
      AreaPtg bptg = (AreaPtg) ptg0;
      return new CellRangeAddress(bptg.getFirstRow(), bptg.getLastRow(), bptg.getFirstColumn(), bptg.getLastColumn());
    }
    if (ptg0 instanceof AreaErrPtg) {
      return null;
    }
    throw new IllegalStateException("Unexpected shifted ptg class (" + ptg0.getClass().getName() + ")");
View Full Code Here

  public CFHeaderRecord(RecordInputStream in)
  {
    field_1_numcf = in.readShort();
    field_2_need_recalculation = in.readShort();
    field_3_enclosing_cell_range = new CellRangeAddress(in);
    field_4_cell_ranges = new CellRangeAddressList(in);
  }
View Full Code Here

    if(cellRanges == null)
    {
      throw new IllegalArgumentException("cellRanges must not be null");
    }
    CellRangeAddressList cral = new CellRangeAddressList();
    CellRangeAddress enclosingRange = null;
    for (int i = 0; i < cellRanges.length; i++)
    {
      CellRangeAddress cr = cellRanges[i];
      enclosingRange = CellRangeUtil.createEnclosingCellRange(cr, enclosingRange);
      cral.addCellRangeAddress(cr);
    }
    field_3_enclosing_cell_range = enclosingRange;
    field_4_cell_ranges = cral;
View Full Code Here

          + " is outside the allowable range (0.." + (_mergedRegions.size() - 1) + ")");
    }
  }

  public void addArea(int rowFrom, int colFrom, int rowTo, int colTo) {
    _mergedRegions.add(new CellRangeAddress(rowFrom, rowTo, colFrom, colTo));
  }
View Full Code Here

    /**
     * @deprecated (Aug-2008) use {@link HSSFSheet#getMergedRegion(int)}
     */
    public Region getMergedRegionAt(int index) {
        CellRangeAddress cra = getMergedRegion(index);
       
        return new Region(cra.getFirstRow(), (short)cra.getFirstColumn(),
                cra.getLastRow(), (short)cra.getLastColumn());
    }
View Full Code Here

     */
    protected void shiftMerged(int startRow, int endRow, int n, boolean isRow) {
        List shiftedRegions = new ArrayList();
        //move merged regions completely if they fall within the new region boundaries when they are shifted
        for (int i = 0; i < getNumMergedRegions(); i++) {
             CellRangeAddress merged = getMergedRegion(i);

             boolean inStart= (merged.getFirstRow() >= startRow || merged.getLastRow() >= startRow);
             boolean inEnd  = (merged.getFirstRow() <= endRow   || merged.getLastRow() <= endRow);

             //don't check if it's not within the shifted area
             if (!inStart || !inEnd) {
                continue;
             }

             //only shift if the region outside the shifted rows is not merged too
             if (!containsCell(merged, startRow-1, 0) && !containsCell(merged, endRow+1, 0)){
                 merged.setFirstRow(merged.getFirstRow()+n);
                 merged.setLastRow(merged.getLastRow()+n);
                 //have to remove/add it back
                 shiftedRegions.add(merged);
                 removeMergedRegion(i);
                 i = i -1; // we have to back up now since we removed one
             }
        }

        //read so it doesn't get shifted again
        Iterator iterator = shiftedRegions.iterator();
        while (iterator.hasNext()) {
            CellRangeAddress region = (CellRangeAddress)iterator.next();

            this.addMergedRegion(region);
        }
    }
View Full Code Here

TOP

Related Classes of org.apache.poi.hssf.util.CellRangeAddress

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.