Release Notes
Update history for ReoGrid v4.
Last updated: June 12, 2026
Latest
v4.5.0
June 12, 2026 - Note A license key is now required. From v4.5 onward, you must set a valid license key with
SetLicense(string)before use. If no key is set, a gray overlay covers the entire grid and mouse/keyboard input, cell editing, and printing are blocked. When upgrading from v4.4 or earlier, be sure to callSetLicense(string)before using the grid.- License keys are tamper-protected with a digital signature.
- License keys are available from the customer portal (https://portal.unvell.com/).
- New Added 47 Excel-compatible formula functions, spanning logical, lookup, date, statistical, and text categories.
- Logical / conditional:
IFERROR/IFS/SUMIFS/COUNTIFS/AVERAGEIFS - Lookup / reference:
INDEX/OFFSET/CHOOSE - Math / statistics:
ROUNDUP/ROUNDDOWN/INT/TRUNC/SQRT/SIGN/PI/SUMPRODUCT/RANK/LARGE/SMALL/MEDIAN/STDEV/STDEVP/VAR/VARP - Date / time:
DATE/DATEVALUE/TIMEVALUE/WEEKDAY/WEEKNUM/EDATE/EOMONTH/NETWORKDAYS/WORKDAY - Text:
TEXT/SUBSTITUTE/REPLACE/CONCAT/CONCATENATE/TEXTJOIN - Information:
ISTEXT/ISNONTEXT/ISNA/ISLOGICAL/ISEVEN/ISODD - Double-byte (CJK):
JIS/ASC/DBCS, plus a simplifiedPHONETIC
- Logical / conditional:
- New Added point-mode formula editing. While editing a formula, click a cell to insert or replace a cell reference at the cursor without leaving edit mode. Drag to extend it to a range, and use the arrow keys to move the active reference — the same feel as Excel and Google Sheets. Every reference in the formula is color-coded and highlighted.
- Drag a highlight border edge to move the reference, or drag a corner to resize it.
- New Added reading and writing of XLSX outlines (grouping). Row and column outline levels and collapsed state are now exchanged with Excel files.
- New Exposed
LazyLoadDataSource, with anAddDataSource(source, mode)overload that infers the range automatically from the record and column counts. - Improvement Substantially improved XLSX loading performance and memory usage.
- Introduced an in-house streaming parser that avoids generating intermediate data during loading.
- Workbooks with many sheets now parse only the open sheet up front and materialize the others on first access.
- Reduced memory usage by about 37% on a 10-million-cell workbook (3.9 GB → 2.5 GB). With viewport-aware style evaluation, memory dropped a further ~40% and load time ~60%.
- Sped up cell loading by about 50% (number-format pattern caching, optimized reference resolution, and more).
- Improvement Strengthened XLSX import compatibility.
- Support for multi-section / conditional custom number formats.
- Fixed theme colors being loaded with light/dark swapped, so cells now display the correct color.
- Correct interpretation of rich-text formatting (whether bold is on) and splitting into separate lines at each line break.
- Display of images anchored to a cell position (such as stamps) and the preview image of embedded OLE objects.
- Inline-string cells are now loaded as text.
- New Added
Worksheet.ClearStyleCache(range?)for releasing memory — after a large bulk load you can release cached styles. - New Added
Worksheet.RowOutlineButtonLocation/ColumnOutlineButtonLocationto set the outline-button position independently for rows and columns (the existingOutlineButtonLocationsets both at once). - Fix Formulas: fixed a rare crash when clicking a cell partway through typing a function name.
- Fix Styles: fixed an issue where changing one of several cells that share a style also changed the others.
- Fix Styles / fonts: fixed an issue where cells that inherit a font changed size or weight when an edit was committed or on redraw.
- Fix Printing: fixed an empty sheet being split across two pages, an exception when dragging a page break, and an extra one-cell page for rows/columns that fit exactly at the page edge.
- Fix Excel import: fixed split windows being mistaken for frozen panes, which crashed the entire sheet load.
- Fix Rich text (WinForms): fixed text being clipped when auto-fit left the row height too short.
- Fix Fixed console/shell output being disrupted after CSV export.
Previous Releases
v4.4.0
April 24, 2026- Improvement Faster rendering: cached cell style and border-drawing resources to speed up screen redraws.
- Improvement Faster font handling: optimized font name lookup and font object retrieval for smoother behavior when displaying large numbers of cells.
- Improvement Faster formula recalculation: redesigned the dependency-tracking algorithm, achieving roughly 2.7× speedup in cases where a single cell is referenced by many other cells.
- Improvement Faster sorting: significantly improved sort performance on large datasets by suspending unnecessary processing during the sort.
- Improvement Faster conditional formatting: optimized evaluation timing — instead of recalculating on every cell edit, conditional formats are now processed in batch at render time.
- Improvement Faster bulk data operations: improved performance of range data assignment, paste, and undo operations by suppressing screen updates and event firing during batch processing.
- Fix Formulas: expressions with a leading plus sign such as
=+D25-F8-F14now behave the same as in Excel. - Fix Formulas: references with parentheses or whitespace in sheet names (e.g.,
'BS(USD)'!B3,'My Sheet'!A1) are now handled correctly. - Fix Sorting: formulas now correctly move along with their rows during sort (matching Excel behavior).
- Fix Conditional formatting: fixed an issue where cell styles were not properly cleared when a conditional format was removed.
- Change Removed the
ConditionalStyleApplyCellsproperty and theConditionalStyleApplyCellCollectionclass. - New Added
Worksheet.HasConditionalStyle(row, col)/HasConditionalStyle(CellPosition)to check whether a conditional style is applied to a given cell. - New Added the
Cell.HasConditionalStylesproperty — a lightweight check that does not require materializing the style list.
v4.3.14
March 25, 2026- Fix Fixed mouse scroll behavior in
NormalViewportController, correctly enforcing horizontal and vertical scroll limits. - Fix Fixed a background color application issue in
ControlShare—ControlStylechanges are now reflected immediately. - New Added a
StyleChangedevent toControlAppearanceStyleto notify when a style color is changed.
v4.3.12
February 18, 2026- Fix Fixed slow Excel export when cell fonts were specified.
- Fix Fixed RGF save/load so that number-format arguments specified as a string pattern (e.g.,
0.0) are preserved correctly.
v4.3.11
February 12, 2026- Fix Fixed a regression introduced in v4.3.10 where the borders of the last row and last column were not drawn.
- Fix Fixed an issue in multi-page printing where cells in the last row and last column were not printed on the final page.
v4.3.10
February 7, 2026- New Exposed
DoActiononWorksheet. - Fix Fixed scrollbar position during synchronization.
- Fix Fixed cell overflow during printing.
- Fix Fixed font styles in Excel export.
v4.3.8
December 25, 2025- Fix Fixed an issue in WPF rich text where font keys were not detected; added a font lookup fallback.
- Fix Fixed rendering of header dropdown buttons.
- New Added the
IsSuspendingScrollToCellproperty to temporarily disable scrolling to a cell. - Improvement Improved row/column select-all behavior, resolving an issue where the view was forcibly scrolled to the last cell under certain conditions.
v4.3.4
December 3, 2025- Fix Fixed an issue in the WPF version where RichText was not rendered correctly under certain conditions.
- New Added Undo / Redo support for built-in cell types.
- Fix Fixed an issue where row header background colors were not displayed correctly under certain conditions.
- Fix Fixed guideline and selection display for hidden cells.
v4.3.3
November 13, 2025- Fix Fixed an issue where some hidden columns could not be re-shown after loading an RGF file.
- Fix Fixed an issue where cell formulas were not recalculated under certain conditions.
- Fix Fixed an issue where
SheetTabwas not drawn correctly after rearranging worksheets. - Fix Fixed an issue where
DropdownCellcould not be copied. - Fix Fixed an issue where the scrollbar position was not displayed correctly under certain conditions when freezing cells.
v4.3.2
November 6, 2025- Fix Fixed an exception that occurred with no-argument formulas (e.g.,
ABS(),COS()). - Fix Fixed issues with text wrapping (line breaks) inside cells.
- New Added text wrapping support for header cells.
- Fix Fixed an issue where outline (group) level button text was not drawn correctly when zooming.
- Fix Fixed scaling issues in rich text rendering.
- Fix Fixed an issue where column widths were not retrieved correctly when loading Excel files.
- Fix Fixed a rare error that occurred in header cells.
- Fix Fixed an issue in the WPF version where sheet tabs were not displayed correctly.
- New Added the
SheetTabFontproperty. - New Added the
Worksheet.Tagproperty. - Fix Fixed display issues when moving sheet tabs by drag and drop.
- Fix Fixed an issue where the
Dottedborder style was changed toDashedwhen exported to Excel. - Fix Fixed an issue where cells without an explicit font size changed from 10.5 to 12.5 when exported to Excel.
v4.3.0
October 6, 2025- Change Renamed
IsValidAddresstoIsValidAddressFormatfor clearer naming. - New Added
Worksheet.IsValidAddressfor stricter address string validation. - New Added
IsValidCellAddressandIsValidRangeAddressto safely generate coordinate objects while validating address validity, with improved performance. - Improvement Improved robustness by using
IsValidCellAddress/IsValidRangeAddressin ReoGrid internal processing. - Fix Fixed an issue where cells were not loaded correctly when zooming during Lazy Loading.
- Improvement Enhanced the
ADDRESSfunction to dynamically generate addresses from referenced cell values. - Improvement Enhanced the
INDIRECTfunction for more accurate cell reference management and proper interpretation of lowercase addresses. - Fix Fixed an issue where row number text was not scaled during zoom operations.
- Fix Fixed an issue where Excel files containing certain
RichFormatTextbecame corrupted when loaded and saved. - Change Changed the target framework from
net8.0-windows7.0tonet8.0-windows, supporting more general .NET 8 Windows environments.
- Improvement Improved recalculation after worksheet cloning.
- Resolved cases where calculation results became inconsistent or outdated immediately after cloning sheets containing shared formulas and dependency chains.
- Reorganized reference remapping and recalculation order during clone creation to guarantee an immediately consistent display.
- In most cases, additional
Recalculatecalls in existing code are no longer necessary. Explicit recalculation is still possible when needed.
- Improvement Improved reliability of border (Border) Excel output.
- Normalized output to avoid writing empty/transparent borders as unnecessary "thin" styles.
- Fixed mapping for Dotted / DashDot / DashDotDot / medium* styles to prevent shape corruption during re-import.
- Resolved an issue where unnecessary opposite-side lines reappeared in corner cells when the "outside only" setting was applied.
- Note If you were relying on inner lines that were unintentionally added after setting "outside only" in previous versions, you will need to set them again explicitly.
- Note Code that called
Recalculateimmediately after cloning may now be redundant (it can be kept for performance-tuning purposes).
- Improvement Excel compatibility:
0can now be interpreted asFALSE. In functions such asIF, 0 evaluates as FALSE and any non-zero number as TRUE. - New Implemented lookup functions.
VLOOKUP: supports exact and approximate matching with numeric and string keys. The fourth argument acceptsTRUE/FALSEas well as1/0.HLOOKUP: supports horizontal lookup.MATCH/XMATCH: return the position of a match. Supports direction options (0,1,-1).XLOOKUP: provides flexible lookup withif_not_found, match modes, and search modes.
- Improvement Operator improvements: the multiplication operator (
*) can now convert numeric strings to numbers (e.g.,"10"*2 → 20). - Improvement Error handling improvements: division by zero is now processed as
InvalidValue(the Excel-compatible#DIV/0!).FormulaStatusis nowInvalidValueinstead ofNormalin this case. - Note When using approximate matching, the data must be sorted in ascending or descending order, the same as in Excel.
- Improvement Improved stability.
- Improvement Improved rendering performance.
- New Added support for .NET 8 and .NET Framework 4.8.
- Fix Fixed an issue where red text formatting was not displayed correctly.
v4.0.0
Major Release- New Lazy Loading — ultra-fast data loading mode.
- New Multi-row header support.
- Improvement Significantly enhanced WPF version.
- New Added the data source mechanism.
- Improvement Enhanced
DropdownListCell. - New Added
ComboListCell(with auto-completion support). - New Added support for Excel custom format patterns.
- Improvement Enhanced outlines.
- New Added customizable condition filters.
- New Added conditional styles.
- New Added string search functionality.
- Improvement Enhanced cell locking.
- New Added input validation.
- New Worksheet data now supports column 0 and row 0.
- Improvement Further rendering speed improvements.
- Improvement Floating-point calculation precision corrections.
- New Automated testing support via WinAppDriver.
- Improvement Additional formula functions supported.
For an overview of the major new features in ReoGrid v4:
What's New page