What's New in
ReoGrid V5
Rebuilt from the core around a fully virtualized architecture — dramatically lighter on memory, faster on large sheets, cross-platform with Avalonia, and ready for servers. One license covers V4 and V5.
~16 B
Per Cell (vs ~150–200 B in V4)
3
Platforms — WinForms · WPF · Avalonia
122
Formula Functions
0
External Dependencies (XLSX / PDF I/O)
What Changed
V5 is not an incremental update — the data model, rendering and I/O were redesigned. These are the changes you will feel first.
01
A Fully Virtualized Core
The engine was rebuilt from scratch so work scales with the visible window, not the sheet size. Cells cost ~16–23 bytes each (measured) versus ~150–200 bytes in V4, and Excel-size sheets (1,048,576 × 16,384) are always available — sparsely, so empty space costs nothing.
02
Built for Million-Row Datasets
Full virtualization and built-in smart lazy-load management let V5 render datasets on the order of a million rows without the grid ever feeling heavy. In V4 your application had to manage lazy loading itself; in V5 it is fully automatic — smooth sheet interaction, and less code to write and maintain.
03
A New Platform: Avalonia
Alongside WinForms and WPF, V5 adds Avalonia — bringing ReoGrid to cross-platform .NET desktop apps on Windows, macOS and Linux. One license covers all three platforms.
04
Headless & Server-Side
The core is UI-independent: build, calculate and convert workbooks on a server or in batch jobs with no control and no window — including on Linux and macOS.
using unvell.ReoGrid.Core;
using unvell.ReoGrid.IO.Excel;
using unvell.ReoGrid.IO.Pdf;
var workbook = XlsxReader.Read("input.xlsx");
var sheet = workbook[0];
sheet.SetNumber(1, 1, 500);
sheet.Recalculate(); 05
Direct, Dependency-Free PDF Export
Export PDF in one line — no external packages, no System.Drawing, with a Japanese (CJK) font embedded. It runs anywhere the core runs, including Linux/macOS servers.
using unvell.ReoGrid.IO.Pdf;
PdfExporter.Export(wb, "book.pdf"); // all sheets
PdfExporter.Export(ws, "sheet.pdf"); // one sheet
byte[] bytes = PdfExporter.ExportToBytes(wb); 06
Streaming XLSX & Lazy Loading
The XLSX reader streams directly into the sparse store, so memory follows the cells that actually exist. Huge files can open with per-sheet lazy loading.
using var virtualBook =
XlsxReader.OpenVirtual("large.xlsx", SheetLoadMode.OnDemand); 07
122 Formula Functions with Dependency Recalculation
The formula engine tracks dependencies and recalculates only what changed, with cross-sheet references and defined names.
08
Excel Format Codes & OOXML Conditional Formatting
Number formats use Excel’s own format-code strings for lossless XLSX round-trips, and conditional formatting is OOXML-complete — icon sets included.
09
Sparkline Cell Type
A new built-in sparkline cell type joins checkbox, dropdown, progress, button and hyperlink — all implemented as shared, flyweight descriptors that stay cheap on large sheets.
10
Notes, Validation, Protection, Find & Replace
Cell notes carry author and text through the XLSX round-trip. Data validation covers Excel-compatible lists, comparisons and custom formulas. Sheet protection follows Excel’s two-layer model — every cell locked by default, unlock the ranges people fill in — held in a range-scoped side table, so unlocking a whole column is one entry. Find & replace searches values, formulas and notes, with regular expressions, across a range or the whole workbook.
11
Banded Rows, Text Rotation, Print Titles
Banded rows are a single sheet-level object resolved at render time, so striping a million rows costs one object and survives sorting, filtering and row insertion. Rotated and stacked (vertical) text and cell indent are honoured by all four drawing surfaces, and printing repeats print titles across pages with Excel-style headers and footers.
V4 and V5, Side by Side
The license is version-independent — one ReoGrid One license covers both, with the same key. Pick per project: V5 for performance, platforms and servers; V4 where you need charts, shapes or data binding today.
| Feature | V4 | V5 |
|---|---|---|
| Core & performance | ||
| Fully virtualized core (work scales with the visible window) | ||
| Memory per cell | ~150–200 B | ~16–23 B (measured) |
| Excel-size sheets (1,048,576 × 16,384) always available | Rows allocated up front | Sparse — costs nothing until used |
| UI-independent core (headless / server / batch) | ||
| Platforms | ||
| WinForms / WPF | ||
| Avalonia (Windows / macOS / Linux) | ||
| .NET versions | .NET Framework 4.8 / .NET 8 | .NET 10 |
| Native high-DPI rendering | Limited | |
| Formulas & formatting | ||
| Built-in formula functions | 100+ | 122, with dependency-based recalculation |
| Cross-sheet references & defined names | ||
| Number formats | ReoGrid-specific flags | Excel format-code strings (lossless XLSX round-trip) |
| Conditional formatting | OOXML-complete, incl. icon sets round-trip | |
| Rich text in cells | ||
| Banded rows, text rotation & indent | Banding resolved at render time — survives sorting and filtering | |
| Cell types & editing | ||
| Built-in cell types | Checkbox, dropdown, button, hyperlink, date picker, radio, number input, image… | Checkbox, dropdown, progress, button, hyperlink, sparkline (new) + custom |
| Undo / redo, sort, filter, outline, clipboard, auto-fill | ||
| Data binding (IDataSource) | Not in V5.0 — write with loops | |
| Data validation | IValidator + validation events | Excel-compatible rules — lists, comparisons, custom formulas, XLSX round-trip |
| Find & replace | Values, formulas and notes; regex; range or whole workbook | |
| Sheet protection & cell locks | Sheet and range read-only | Excel's two-layer model — per-cell locks, permission flags, XLSX round-trip |
| Charts & drawing | ||
| Charts | Not in V5.0 (no committed date) — keep using V4 on the same license | |
| Cell notes (comments) | Notes with the XLSX round-trip (threaded comments are not) | |
| Shapes & text boxes | Not in V5.0 (images are supported) | |
| Images anchored to cells | ||
| I/O & printing | ||
| XLSX read / write | Streaming reader + per-sheet lazy load for huge files | |
| CSV / JSON | CSV | CSV + reogrid-json (shared with ReoGrid Web) |
| RGF (legacy format) | Not supported — migrate via XLSX | |
| PDF export | Via printing only | Direct, dependency-free, CJK font embedded — works on Linux/macOS servers |
| Printing | WinForms / WPF, one shared pagination engine, print titles and headers/footers (Avalonia printing not yet) | |
| Scripting & licensing | ||
| ReoScript | Removed (will not return) | |
| License | One ReoGrid One license covers both | Same license & key — no re-issue needed |
Not in V5.0 — and what to do about it
V5 has no backwards compatibility with the V4 API, and some V4 features are not in the initial release. There is no committed date for them — they will be considered based on demand. V4 is not going away: it stays on sale and supported, and because the license is version-independent, the same license and key cover both. If you need any of these today, use V4 — no extra cost, no re-issued keys.
Requirements: V5 targets .NET 10 (SDK 10.0.301+). WinForms and WPF on Windows; Avalonia on Windows, macOS and Linux. V4 (.NET Framework 4.8 / .NET 8) continues unchanged.
Try ReoGrid V5
Start a 30-day free trial with every feature unlocked, or dive into the documentation. One license covers V4 and V5 — buy once, with the first year of updates & support included.