You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generated: December 2024 Last Updated: April 2026 Based on: Code Coverage Analysis, Static Analysis, Code Quality Review
April 2026 - Conditional Formatting
Added AddSheetOptions.ConditionalFormats to configure Excel-style conditional formatting when writing sheets.
Added public conditional formatting model types: ConditionalFormat, ConditionalFormatRule, ConditionalFormatStyle, ConditionalFormatRuleType, and ConditionalFormatOperator.
Implemented OpenXML worksheet generation that writes one conditional-formatting block per target column so Excel-relative formulas evaluate correctly.
Added ConditionalFormattingTests.cs covering multi-rule, multi-column, and all-column scenarios.
Added README guidance and XML documentation examples for the new API.
Executive Summary
Metric
Before Phase 1
After Phase 1
Target
Status
Line Coverage
71.8%
75.7%
85%+
?? In Progress
Branch Coverage
61.6%
63.2%
75%+
?? In Progress
Method Coverage
77.5%
87.0%
90%+
?? Near Target
Code Style Issues
4 files
0 files
0 files
? Complete
XML Documentation
None
All public APIs
All public APIs
? Complete
Phase 1 - COMPLETED ?
1.1 Formatting Issues - FIXED ?
All whitespace formatting issues have been resolved by running dotnet format.
1.2 Exception Class Tests - ADDED ?
Class
Before
After
Status
CustomTableStyle
0%
100%
?
EmptyRowException
0%
100%
?
PropertyNotFoundException
0%
100%
?
SheetMagicException
0%
100%
?
ValidationException
0%
100%
?
Options
0%
100%
?
1.3 New Test Files Created
ExceptionTests.cs - 15 tests for exception classes
OptionsTests.cs - 17 tests for Options, CustomTableStyle, TableRowStyle
EmptyRowHandlingTests.cs - 5 tests for empty row scenarios
1.4 Bug Fixes
Fixed TableRowStyle.cs to use fully qualified System.Drawing.Color to avoid ambiguity with DocumentFormat.OpenXml.Spreadsheet.Color
Removed System.Drawing from global usings to prevent namespace conflicts
Phase 2 - SKIPPED ??
Phase 2 items (improving coverage for Extended<T>, MagicSpreadsheet, TableOptions) have been deferred to focus on Phase 3 deliverables.
Phase 3 - COMPLETED ?
3.1 XML Documentation - COMPLETED ?
Add <GenerateDocumentationFile>true</GenerateDocumentationFile> to csproj
Add XML documentation to all public APIs
Generate API documentation website (future enhancement)
3.2 Architectural Documentation
The MagicSpreadsheet class is split across multiple partial class files: