OfficeIMO

API Reference

Class

ExcelSheetReader

Namespace OfficeIMO.Excel
Assembly OfficeIMO.Excel
Modifiers sealed

Column-oriented readers for ExcelSheetReader.

Inheritance

  • Object
  • ExcelSheetReader

Methods

public IEnumerable<CellValueInfo> EnumerateCells() #
Returns: IEnumerable<CellValueInfo>

Enumerates non-empty cells as (Row, Column, Value). Values are typed when possible.

public IEnumerable<CellValueInfo> EnumerateRange(String a1Range) #
Returns: IEnumerable<CellValueInfo>

Enumerates non-empty cells within the given A1 range as typed values.

Parameters

a1Range System.String requiredposition: 0
public String GetUsedRangeA1() #
Returns: String

Returns the used range of the worksheet as an A1 string (e.g., "A1:C10"). If the sheet is empty, returns "A1:A1".

public IEnumerable<Object> ReadColumn(String a1Range, CancellationToken ct = null) #
Returns: IEnumerable<Object>

Reads a single-column A1 range (e.g., "B2:B1000") as a typed sequence.

Parameters

a1Range System.String requiredposition: 0
ct System.Threading.CancellationToken = null optionalposition: 1
public IEnumerable<T> ReadColumnAs<T>(String a1Range, Func<Object, T> convert = null, CancellationToken ct = null) #
Returns: IEnumerable<T>

Type Parameters

T

Parameters

a1Range String requiredposition: 0
convert Func<Object, T> = null optionalposition: 1
ct CancellationToken = null optionalposition: 2
ReadColumnAs``1(System.String a1Range, System.Func{System.Object,``0} convert, System.Threading.CancellationToken ct) #

Reads a single-column A1 range as a typed sequence.

Type Parameters

T
Target element type.

Parameters

a1Range System.String required
Single-column A1 range (e.g., "B2:B100").
convert System.Func{System.Object,``0} required
Optional custom converter. If null, uses culture-aware conversion.
ct System.Threading.CancellationToken required
Cancellation token.
public IEnumerable<Dictionary<String, Object>> ReadObjects(String a1Range, Nullable<ExecutionMode> mode = null, CancellationToken ct = null) #
Returns: IEnumerable<Dictionary<String, Object>>

Reads a rectangular range into a sequence of dictionaries using the first row as headers.

Type Parameters

T

Parameters

a1Range System.String requiredposition: 0
mode System.Nullable{OfficeIMO.Excel.ExecutionMode} = null optionalposition: 1
ct System.Threading.CancellationToken = null optionalposition: 2
ReadObjects``1(System.String a1Range, System.Nullable{OfficeIMO.Excel.ExecutionMode} mode, System.Threading.CancellationToken ct) #

Reads a rectangular range and maps rows (excluding the header row) into instances of T. Header cells are matched to public writable properties on T by name (case-insensitive).

Parameters

a1Range System.String required
mode System.Nullable{OfficeIMO.Excel.ExecutionMode} required
ct System.Threading.CancellationToken required
public Object[] ReadRange(String a1Range, Nullable<ExecutionMode> mode = null, CancellationToken ct = null) #
Returns: Object[]

Reads a rectangular A1 range (e.g., "A1:C10") into a dense 2D array of typed values.

Parameters

a1Range System.String requiredposition: 0
mode System.Nullable{OfficeIMO.Excel.ExecutionMode} = null optionalposition: 1
ct System.Threading.CancellationToken = null optionalposition: 2
public T[] ReadRangeAs<T>(String a1Range, Nullable<ExecutionMode> mode = null, CancellationToken ct = null) #
Returns: T[]

Type Parameters

T

Parameters

a1Range String requiredposition: 0
mode Nullable<ExecutionMode> = null optionalposition: 1
ct CancellationToken = null optionalposition: 2
public DataTable ReadRangeAsDataTable(String a1Range, Boolean headersInFirstRow = true, Nullable<ExecutionMode> mode = null, CancellationToken ct = null) #
Returns: DataTable

Reads a rectangular range to a DataTable. If headersInFirstRow = true, first row becomes column names.

Parameters

a1Range System.String requiredposition: 0
headersInFirstRow System.Boolean = true optionalposition: 1
mode System.Nullable{OfficeIMO.Excel.ExecutionMode} = null optionalposition: 2
ct System.Threading.CancellationToken = null optionalposition: 3
ReadRangeAs``1(System.String a1Range, System.Nullable{OfficeIMO.Excel.ExecutionMode} mode, System.Threading.CancellationToken ct) #

Reads a rectangular range into a dense typed matrix.

Type Parameters

T
Target element type for each cell.

Parameters

a1Range System.String required
Inclusive A1 range (e.g., "A1:C10").
mode System.Nullable{OfficeIMO.Excel.ExecutionMode} required
Execution override (affects conversion only).
ct System.Threading.CancellationToken required
Cancellation token.
public IEnumerable<RangeChunk> ReadRangeStream(String a1Range, Int32 chunkRows = 1024, Nullable<ExecutionMode> mode = null, CancellationToken ct = null) #
Returns: IEnumerable<RangeChunk>

Lazily reads a rectangular A1 range as ordered row chunks. DOM traversal is single-threaded; per-chunk value conversion is offloaded in parallel based on Execution policy.

Parameters

a1Range System.String requiredposition: 0
chunkRows System.Int32 = 1024 optionalposition: 1
mode System.Nullable{OfficeIMO.Excel.ExecutionMode} = null optionalposition: 2
ct System.Threading.CancellationToken = null optionalposition: 3
public IEnumerable<Object[]> ReadRows(String a1Range, CancellationToken ct = null) #
Returns: IEnumerable<Object[]>

Lazily reads each row within the A1 range as a typed object array. Values are converted using shared strings and styles (date detection).

Parameters

a1Range System.String requiredposition: 0
Inclusive A1 range (e.g., "A1:C100").
ct System.Threading.CancellationToken = null optionalposition: 1
Cancellation token.

Returns

Sequence of rows as object?[] with fixed width equal to the range width. Rows without any cells yield null.

public IEnumerable<T[]> ReadRowsAs<T>(String a1Range, Func<Object, T> convert = null, CancellationToken ct = null) #
Returns: IEnumerable<T[]>

Type Parameters

T

Parameters

a1Range String requiredposition: 0
convert Func<Object, T> = null optionalposition: 1
ct CancellationToken = null optionalposition: 2
ReadRowsAs``1(System.String a1Range, System.Func{System.Object,``0} convert, System.Threading.CancellationToken ct) #

Streams each row within the A1 range as a typed array.

Type Parameters

T
Target element type for each cell.

Parameters

a1Range System.String required
Inclusive A1 range (e.g., "A1:C100").
convert System.Func{System.Object,``0} required
Optional custom converter. If null, uses culture-aware conversion.
ct System.Threading.CancellationToken required
Cancellation token.

Properties

public String Name { get; } #

Worksheet name.