Class CellRangeAddressList

java.lang.Object
org.apache.poi.ss.util.CellRangeAddressList

public class CellRangeAddressList extends Object
Implementation of the cell range address lists,like is described in OpenOffice.org's Excel Documentation: excelfileformat.pdf sec 2.5.14 - 'Cell Range Address List' In BIFF8 there is a common way to store absolute cell range address lists in several records (not formulas). A cell range address list consists of a field with the number of ranges and the list of the range addresses. Each cell range address (called an ADDR structure) contains 4 16-bit-values.

Author:
Dragos Buleandra (dragos.buleandra@trade2b.ro)
  • Field Details

    • _list

      protected final List<CellRangeAddress> _list
      List of CellRangeAddresses. Each structure represents a cell range
  • Constructor Details

    • CellRangeAddressList

      public CellRangeAddressList()
    • CellRangeAddressList

      public CellRangeAddressList(int firstRow, int lastRow, int firstCol, int lastCol)
      Convenience constructor for creating a CellRangeAddressList with a single CellRangeAddress. Other CellRangeAddresses may be added later.
    • CellRangeAddressList

      public CellRangeAddressList(RecordInputStream in)
      Parameters:
      in - the RecordInputstream to read the record from
  • Method Details

    • countRanges

      public int countRanges()
      Get the number of following ADDR structures. The number of this structures is automatically set when reading an Excel file and/or increased when you manually add a new ADDR structure . This is the reason there isn't a set method for this field .
      Returns:
      number of ADDR structures
    • addCellRangeAddress

      public void addCellRangeAddress(int firstRow, int firstCol, int lastRow, int lastCol)
      Add a cell range structure.
      Parameters:
      firstRow - - the upper left hand corner's row
      firstCol - - the upper left hand corner's col
      lastRow - - the lower right hand corner's row
      lastCol - - the lower right hand corner's col
    • addCellRangeAddress

      public void addCellRangeAddress(CellRangeAddress cra)
    • remove

      public CellRangeAddress remove(int rangeIndex)
    • getCellRangeAddress

      public CellRangeAddress getCellRangeAddress(int index)
      Returns:
      CellRangeAddress at the given index
    • getSize

      public int getSize()
    • getEncodedSize

      public static int getEncodedSize(int numberOfRanges)
      Returns:
      the total size of for the specified number of ranges, including the initial 2 byte range count
    • serialize

      public int serialize(int offset, byte[] data)
    • serialize

      public void serialize(LittleEndianOutput out)
    • copy

      public CellRangeAddressList copy()
    • getCellRangeAddresses

      public CellRangeAddress[] getCellRangeAddresses()