Class InMemoryRange
EPPlus implementation of a range that keeps its data in memory
Inheritance
Implements
Inherited Members
Namespace: OfficeOpenXml.FormulaParsing.Ranges
Assembly: EPPlus.dll
Syntax
public class InMemoryRange : IRangeInfo, IAddressInfo, IEnumerator<ICellInfo>, IEnumerator, IDisposable, IEnumerable<ICellInfo>, IEnumerable
Constructors
InMemoryRange(IRangeInfo)
Constructor
Declaration
public InMemoryRange(IRangeInfo ri)
Parameters
Type | Name | Description |
---|---|---|
IRangeInfo | ri | Another IRangeInfo used as clone for this range. The address of the supplied range will not be copied. |
InMemoryRange(FormulaRangeAddress, RangeDefinition)
The constructor
Declaration
public InMemoryRange(FormulaRangeAddress address, RangeDefinition rangeDef)
Parameters
Type | Name | Description |
---|---|---|
FormulaRangeAddress | address | The worksheet address that should be used for this range. Will be used for implicit intersection. |
RangeDefinition | rangeDef | Defines the size of the range |
InMemoryRange(RangeDefinition)
The constructor
Declaration
public InMemoryRange(RangeDefinition rangeDef)
Parameters
Type | Name | Description |
---|---|---|
RangeDefinition | rangeDef | Defines the size of the range |
InMemoryRange(List<List<Object>>)
Constructor
Declaration
public InMemoryRange(List<List<object>> range)
Parameters
Type | Name | Description |
---|---|---|
System.Collections.Generic.List<System.Collections.Generic.List<System.Object>> | range | A list of values also defining the size of the range |
InMemoryRange(Int32, Int16)
Constructor
Declaration
public InMemoryRange(int rows, short cols)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rows | Number of rows in the new range |
System.Int16 | cols | Number of columns in the new range |
Properties
Address
The address of the inmemory range.
Declaration
public FormulaRangeAddress Address { get; }
Property Value
Type | Description |
---|---|
FormulaRangeAddress |
Addresses
The addresses for the range, if more than one.
Declaration
public FormulaRangeAddress[] Addresses { get; }
Property Value
Type | Description |
---|---|
FormulaRangeAddress[] |
Current
Current
Declaration
public ICellInfo Current { get; }
Property Value
Type | Description |
---|---|
ICellInfo |
Dimension
The address of the range
Declaration
public FormulaRangeAddress Dimension { get; }
Property Value
Type | Description |
---|---|
FormulaRangeAddress |
Empty
An empty range
Declaration
public static InMemoryRange Empty { get; }
Property Value
Type | Description |
---|---|
InMemoryRange |
IsEmpty
If the range has no cells.
Declaration
public bool IsEmpty { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsInMemoryRange
If the range is an inmemory range. Allways true.
Declaration
public bool IsInMemoryRange { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsMulti
If the range is more than one cell.
Declaration
public bool IsMulti { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsRef
The in-memory range is never a reference error. Allways false.
Declaration
public bool IsRef { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
Size
The size of the range.
Declaration
public RangeDefinition Size { get; }
Property Value
Type | Description |
---|---|
RangeDefinition |
Worksheet
The worksheet.
Declaration
public ExcelWorksheet Worksheet { get; }
Property Value
Type | Description |
---|---|
ExcelWorksheet |
Methods
Dispose()
Dispose
Declaration
public void Dispose()
GetAddressDimensionAdjusted(Int32)
Get the address adjusted inside the dimension of the worksheet. Not applicable on InMemoryRange's, as no addresses us used.
Declaration
public FormulaRangeAddress GetAddressDimensionAdjusted(int index)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | index | Not applicable on InMemoryRange's. |
Returns
Type | Description |
---|---|
FormulaRangeAddress | The address. |
GetCell(Int32, Int32)
Get cell
Declaration
public ICellInfo GetCell(int row, int col)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | row | |
System.Int32 | col |
Returns
Type | Description |
---|---|
ICellInfo |
GetEnumerator()
Get enumerator
Declaration
public IEnumerator<ICellInfo> GetEnumerator()
Returns
Type | Description |
---|---|
System.Collections.Generic.IEnumerator<ICellInfo> |
GetNCells()
Get the number of cells in the range
Declaration
public int GetNCells()
Returns
Type | Description |
---|---|
System.Int32 | The number of cells in range. |
GetOffset(Int32, Int32)
Returns the value with the offset from the top-left cell.
Declaration
public object GetOffset(int rowOffset, int colOffset)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rowOffset | The row offset from the top-left cell. |
System.Int32 | colOffset | The column offset from the top-left cell. |
Returns
Type | Description |
---|---|
System.Object | The value of the cell |
GetOffset(Int32, Int32, Int32, Int32)
Returns the value with the offset from the top-left cell.
Declaration
public IRangeInfo GetOffset(int rowOffsetStart, int colOffsetStart, int rowOffsetEnd, int colOffsetEnd)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rowOffsetStart | The starting row offset from the top-left cell. |
System.Int32 | colOffsetStart | The ending column offset from the top-left cell |
System.Int32 | rowOffsetEnd | The ending row offset from the top-left cell. |
System.Int32 | colOffsetEnd | The starting column offset from the top-left cell. |
Returns
Type | Description |
---|---|
IRangeInfo | The value of the cell |
GetValue(Int32, Int32)
Gets the value of a cell.
Declaration
public object GetValue(int row, int col)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | row | The row |
System.Int32 | col | The column |
Returns
Type | Description |
---|---|
System.Object |
IsHidden(Int32, Int32)
If the cell's row is hidden.
Declaration
public bool IsHidden(int rowOffset, int colOffset)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | rowOffset | Row offset from the top-left cell |
System.Int32 | colOffset | Column offset from the top-left cell |
Returns
Type | Description |
---|---|
System.Boolean |
MoveNext()
Move next
Declaration
public bool MoveNext()
Returns
Type | Description |
---|---|
System.Boolean |
Reset()
Reset
Declaration
public void Reset()
SetCell(Int32, Int32, ICellInfo)
Sets the ICellInfo for a cell directly
Declaration
public void SetCell(int row, int col, ICellInfo cell)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | row | The row |
System.Int32 | col | The column |
ICellInfo | cell | The cell |
SetValue(Int32, Int32, Object)
Sets the value for a cell.
Declaration
public void SetValue(int row, int col, object val)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | row | The row |
System.Int32 | col | The column |
System.Object | val | The value to set |
Explicit Interface Implementations
IEnumerable.GetEnumerator()
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Type | Description |
---|---|
System.Collections.IEnumerator |
IEnumerator.Current
Declaration
object IEnumerator.Current { get; }
Returns
Type | Description |
---|---|
System.Object |