All notable changes to OpenExcelLite will be documented in this file.
The format follows Keep a Changelog
and adheres to Semantic Versioning.
- Multi-sheet streaming support:
wb.AddSheet("SheetName", writer => {...}) - Hybrid mode: Combine streaming + in-memory sheets in the same workbook.
- Multi-sheet in-memory demos (hyperlinks, empty rows)
- Demo exporting 10 sheets at once
- Fully schema-valid across multiple sheets, hyperlinks, and empty rows
- Streaming hyperlink handling across multiple WorksheetParts
- Internal writer disposal to avoid orphan relationships
- Updated README with multi-sheet examples
- Updated Program.cs with full extended demos
- Streaming worksheets now flush and complete correctly when multiple sheets exist
- Hyperlinks across multiple sheets no longer produce invalid OpenXML nodes
- Full hyperlink support for both in-memory and streaming modes.
- New model:
HyperlinkCelland helperXL.Hyper(url, displayText). - Proper
<hyperlinks>element generation with external relationships. - Unit tests for in-memory and streaming hyperlink scenarios.
- New examples in README and Program.cs showing hyperlink usage.
- Consistency in hyperlink schema generation (ECMA-376 compliant).
- README updated with hyperlink feature documentation.
- Streaming writer now tracks hyperlinks without memory explosion.
- Ensured hyperlinks do not trigger Excel “Repaired Records” dialogs.
- Fixed edge case: hyperlinks combined with empty rows and tables.
- Metadata-only update for NuGet.
- Improved SEO-optimized package tags.
- Enhanced package description for discoverability.
- Updated README & CHANGELOG formatting.
- No functional code changes.
AddEmptyRows(int)for in-memory writer.WriteEmptyRows(int)for streaming writer.
- Header row detection logic.
- AutoFilter and table range calculation.
- Column-count consistency validation.
- AutoFit column logic for datasets with leading empty rows.
- Eliminated Excel “Repaired Records: Table…” warnings.
- Corrected handling of blank rows before header in both modes.
- Streaming empty row writer produced invalid XML — now fixed.
- Initial release of OpenExcelLite.
- In-memory and streaming Excel creators.
- AutoFit columns, AutoFilter, table creation.
- Date style handling.
- Schema-safe OpenXML generation.
- Released versions: https://github.com/livedcode/OpenExcelLite/releases