Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.ss.util
Class CellRangeUtil

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

    public final class CellRangeUtil

extends java.lang.Object

Utility class that builds on `CellRangeAddress` Portions of this class may be moved to `CellRangeAddressBase`

Field Summary
`static int` | `ENCLOSES` first range encloses or is equal to the second
`static int` | `INSIDE` first range is within the second range
`static int` | `NO_INTERSECTION`
`static int` | `OVERLAP`

Method Summary
`static boolean` | `contains(CellRangeAddress crA, CellRangeAddress crB)` Check if cell range A contains cell range B (B <= A) TODO: move this into `CellRangeAddressBase`
`static CellRangeAddress` | `createEnclosingCellRange(CellRangeAddress crA, CellRangeAddress crB)` Create an enclosing CellRange for the two cell ranges.
`static boolean` | `hasExactSharedBorder(CellRangeAddress crA, CellRangeAddress crB)` Check if the two cell ranges have a shared border.
`static int` | `intersect(CellRangeAddress crA, CellRangeAddress crB)` Get the type of intersection between two cell ranges
`static CellRangeAddress[]` | `mergeCellRanges(CellRangeAddress[] cellRanges)` Do all possible cell merges between cells of the list so that: if a cell range is completely inside of another cell range, it gets removed from the list if two cells have a shared border, merge them into one bigger cell range

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NO_INTERSECTION

    public static final int NO_INTERSECTION

See Also:
  Constant Field Values

### OVERLAP

    public static final int OVERLAP

See Also:
  Constant Field Values

### INSIDE

    public static final int INSIDE

  first range is within the second range

  See Also:
    Constant Field Values

### ENCLOSES

    public static final int ENCLOSES

  first range encloses or is equal to the second

  See Also:
    Constant Field Values

Method Detail

### intersect

    public static int intersect(CellRangeAddress crA,
                                CellRangeAddress crB)

  Get the type of intersection between two cell ranges

  Parameters:
    `crB` - - the specified range
  Returns:
    code which reflects how the specified range is related to this range.
    Possible return codes are:
    - `NO_INTERSECTION` - the specified range is outside of this range;
    - `OVERLAP` - both ranges partially overlap
    - `INSIDE` - the specified range is inside of this one
    - `ENCLOSES` - the specified range encloses (possibly exactly the same as) this range
  See Also:
    `CellRangeAddressBase.intersects(CellRangeAddressBase)`

### mergeCellRanges

    public static CellRangeAddress[] mergeCellRanges(CellRangeAddress[] cellRanges)

  Do all possible cell merges between cells of the list so that:
  - if a cell range is completely inside of another cell range, it gets removed from the list
  - if two cells have a shared border, merge them into one bigger cell range

  Parameters:
    `cellRanges` - the ranges to merge
  Returns:
    list of merged cell ranges

### contains

    public static boolean contains(CellRangeAddress crA,
                                   CellRangeAddress crB)

  Check if cell range A contains cell range B (B <= A) TODO: move this into `CellRangeAddressBase`

  Parameters:
    `crA` - cell range A
    `crB` - cell range B
  Returns:
    true if cell range A contains cell range B

### hasExactSharedBorder

    public static boolean hasExactSharedBorder(CellRangeAddress crA,
                                               CellRangeAddress crB)

  Check if the two cell ranges have a shared border.

  Returns:
    `true` if the ranges have a complete shared border (i.e. the two ranges together make a simple rectangular region.

### createEnclosingCellRange

    public static CellRangeAddress createEnclosingCellRange(CellRangeAddress crA,
                                                            CellRangeAddress crB)

  Create an enclosing CellRange for the two cell ranges.

  Returns:
    enclosing CellRange

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.