Skip to content

LiteExcel v2.4.77

Choose a tag to compare

@GitHubMacrro GitHubMacrro released this 18 Sep 03:17
· 37 commits to main since this release

LiteExcel 2.4.77

Added

  • XLSB conditional formatting write support (all types): Supports all 18 OOXML rule types (cellIs / expression / colorScale / dataBar / iconSet / top10 / aboveAverage / belowAverage / text / blank / error categories / uniqueValues / duplicateValues / timePeriod / textLength), including dxf styles (fill / font color / font weight / border), with global deduplication.
  • Worksheet visibility Worksheet.Visible: Visible / Hidden / VeryHidden; read/write for xlsx / xlsm / xlsb / xls.
  • Worksheet tab color Worksheet.TabColor: read/write for xlsx / xlsm.
  • XLSB capability gaps filled: named range readback, ListObject (Excel Tables) read/write, data validation read/write, floating image writing.

Fixed

  • XLSB surgical worksheet deletion fidelity: After deleting a worksheet from a workbook containing a Data Model (Power Pivot / Power Query) and saving, it no longer causes Excel to crash or show a repair prompt—fully replicating Excel's synchronized changes (part/relationship rId renumbering, XTI decrement, defined name invalidation, embedded rId renumbering for 0x046D/0x0430, pivot table cacheId restoration, _xlcn.* names preserved as-is).
  • Invalid lengthIs OOXML type: Text-length conditional formatting now uses valid cellIs + LEN() expressions (files containing this rule were previously rejected by Excel).
  • FormulaEncoder multi-character operator loss: Fixed encoding loss for >= / <= / <>; added SEARCH / LEFT / RIGHT to FormulaFtab (otherwise Excel refuses to open the file).

Changed

  • XLSB conditional formatting no longer reports degradation: All 18 rule types are now supported for writing; only unknown enum values are reported via DegradationCapability.ConditionalFormatting.
  • IconSetInfo adds Reverse; when thresholds are not explicitly provided, they are evenly distributed as integers (matching Excel, e.g. 0/33/67).

Tests

  • 710/710 (net8.0) passed; net48 build passed; AOT native smoke passed.

See the full changelog in CHANGELOG.