Skip to content

Conversation

@Smurf-IV
Copy link
Owner

No description provided.

    - `FileType` has been removed, and Open via the Public class type
    - `IXmlReaderHelpers` has become `IOpenXmlReaderHelpers`, with slightly different methods
    - `IXmlWorkBookReader` has become `IOpenXmlWorkBookReader`
    - `IXmlSheetReader` has become `IOpenXmlSheetReader`
- Load Sheets
- Make use of `ct.IsCancellationRequested`
- Add more record accessor convertors
    - ✅ Sheet Names
    - ✅ Shared Strings
- ✅ Implement Sheet loading
- ✅ Implement Row extraction
    - ✅ Skip
    - ✅ Delayed read - until a cell is actually needed
    - ✅ Deal with Null / Empty cells
- ✅ Cell object type
- Start to add the Benchmark projects
  - Switched from traditional switch statement to expression-based switch for more efficient dispatch
  - Delayed cell object allocation until after record type validation, avoiding unnecessary object creation for invalid records
  - Use of `[MethodImpl(MethodImplOptions.AggressiveInlining)]`
- Implement "On Demand" conversion
    - Slightly slower, but less memory pressure
- Remove `BufferedStream` usage from xlsx
- Add more XLSB readers
- Remove some compile warnings
- Make use of more `[MethodImpl(MethodImplOptions.AggressiveOptimization)]`
@Smurf-IV Smurf-IV marked this pull request as ready for review January 4, 2026 08:29
@Smurf-IV Smurf-IV merged commit 3b33f29 into main Jan 4, 2026
1 check passed
@Smurf-IV Smurf-IV deleted the V3-XLSB branch January 4, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants