Features
Everything ReoGrid Web 1.3.0 can do — 39 features across rendering, formulas, data tooling, I/O, and UI, each with a live screenshot.
Core Features
The foundation: high-performance rendering, cell data, styling, and workbook structure.
Canvas Rendering
High-performance cell rendering on HTML5 Canvas — no DOM bloat, 10,000 rows at 60 fps.
createReogrid({ workspace: '#grid' })
Multi-Sheet Workbook
A grid is a workbook of N worksheets with a built-in sheet tab bar — add, rename, reorder, hide, and color tabs. Each sheet keeps its own data, selection, frozen panes, and undo history.
instance.workbook.addSheet('Sheet2')
Cell Data
Read and write cell values, bulk-load datasets, and retrieve formatted display text through a simple API.
worksheet.loadCells(data)
Cell Styles
Font family, size, bold, italic, underline, text and background colors, horizontal/vertical alignment, and text wrapping.
worksheet.setRangeStyle(range, style)
Number Formatting
Excel-compatible format codes — thousands separators, currency, percentages, dates and times (#,##0, ¥#,##0, 0.00%).
worksheet.setCellNumberFormat(r, c, '#,##0')
Japanese Era & Color Formats
Reiwa/Heisei/Showa era dates and [Red]/[赤] color bracket formats for Japanese business documents.
Borders
Cell and range borders on any side, with style, color, and width control.
worksheet.setRangeBorders(range, borders)
Cell Merging
Merge and unmerge cells for titles, grouped headers, and complex multi-level table layouts.
worksheet.mergeCells(range)
Row & Column Sizing
Resize rows and columns by dragging headers or via the API, with auto-fit to content.
worksheet.setColumnWidth(col, 120) Also included
Insert and delete rows or columns, and show or hide them. Formula references shift automatically.
Formula Engine
An Excel-compatible formula engine with automatic recalculation and cross-sheet references.
Formula Engine
Excel-compatible AST parser with a dependency graph — referenced cells recalculate automatically. A1 relative and absolute references, range references.
worksheet.setCellInput(r, c, '=A1+B1*2')
109 Built-in Functions
109 functions across math, statistics, trigonometry, logical, text, date/time, lookup, info, conditional aggregation, and random categories.
=SUM(A1:A10)
Cross-Sheet Formulas
Reference cells on other sheets — =Sheet1!A1, =SUM(明細!A1:A3), =VLOOKUP(A1,Master!A1:C10,2). Renames rewrite formulas; edits propagate across sheets.
=SUM('My Sheet'!A1:B2)
Lookup & Reference
VLOOKUP, HLOOKUP, XLOOKUP, INDEX, MATCH, XMATCH, ADDRESS, ROW, COLUMN, ROWS, COLUMNS.
=VLOOKUP(A2, D2:F10, 2)
Conditional Aggregation
SUMIF, COUNTIF, AVERAGEIF and the multi-criteria *IFS variants (SUMIFS, COUNTIFS, MAXIFS, MINIFS).
=SUMIFS(C2:C20, A2:A20, "East") Also included
While editing a formula, click cells to insert references — each reference is color-coded with a matching outline on the grid, and ranges can be dragged to move or resize.
Try demo →Advanced Features
Data-application features: filtering, sorting, grouping, rich cell types, and million-row datasets.
Auto-fill (Fill Handle)
Drag the bottom-right square of the selection to extend values in any direction. Detects copy, arithmetic progression, date increment, and formula relative-reference patterns.
Freeze Panes
Freeze rows and columns so headers stay visible while scrolling large datasets.
worksheet.setFrozenRows(1)
Sorting
Ascending and descending column sort, with custom comparators via the API.
worksheet.sortColumn(2, 'asc')
Auto-Filter
Excel-style header dropdowns for filtering rows by value, combined with sorting. Handles 10,000+ rows with ease.
worksheet.createAutoFilter(range)
Grouping (Outline)
Row and column outlining with collapse/expand controls and multi-level nesting.
worksheet.groupRows(2, 5)
Cell Types
Checkbox, dropdown, button, progress bar, star rating, sparkline, and hyperlink — interactive widgets inside cells.
worksheet.setCellType(r, c, { type: 'progress' })
Conditional Formatting
Value-, expression-, and text-based rules that restyle matching cells live, with per-side border overrides.
worksheet.addConditionalFormat(rule)
Delay Load — 1,000,000 Rows
setDataSource() fetches only visible rows on demand — display million-row datasets while keeping a few hundred rows in memory.
worksheet.setDataSource({ rowCount: 1_000_000, load }) Also included
Sheet protection with per-cell locking — keep templates intact while users edit input cells.
Insert and position images over the grid — logos on invoices, product photos in catalogs.
Data I/O
Move data in and out: Excel files, lossless JSON, clipboard, and printing.
XLSX Import
Load Excel files from a URL, File object, or ArrayBuffer — all sheets, styles, merges, borders, and formulas. Chunked async loading for big files.
instance.loadFromUrl('/data/report.xlsx') Also included
Save the whole workbook as an .xlsx file — multi-sheet, styles, formulas, borders, and conditional formats round-trip to Excel.
Native lossless serialization — preserves cells, styles, number formats, merges, borders, freeze, conditional formats, outlines, filters, cell types, and protection.
Copy, cut, and paste with the OS clipboard in TSV and HTML formats — interoperable with Excel and Google Sheets.
Convert worksheets to styled HTML tables for browser printing, preserving merges and borders.
UI Features
Polished editing UX out of the box: inline editor, undo/redo, shortcuts, and animation.
Alternating Row Colors
Built-in background striping for even/odd rows — readable tables without per-cell styling.
Also included
Inline WYSIWYG text editing via double-click, F2, or Enter — the editor mirrors the cell’s font, line height, and alignment.
Action-based undo and redo (30 steps by default, configurable via undoCapacity), isolated per sheet.
Ctrl+Z/Y, Ctrl+C/V/X, Tab, Enter, arrow-key navigation, and more.
A right-click event API for building custom context menus that match your application.
Toggle grid line visibility per sheet — useful for document-style layouts like invoices.
Contextual tooltips on hover — ideal for validation messages and inline help.
Try demo →Smooth animation on cell value changes, with configurable duration and easing.
Try demo →Edition Comparison
| Lite (Free) | Pro (Paid) | |
|---|---|---|
| Rows | Up to 100 rows | Unlimited |
| Columns | Up to 26 columns (A–Z) | Unlimited |
| Formulas | Arithmetic only | All 109 functions |
| Multi-Sheet Workbook | ✓ | ✓ |
| Cross-Sheet Formulas | ✓ | ✓ |
| Cell Styles | ✓ | ✓ |
| Number Formatting | ✓ | ✓ |
| Borders | ✓ | ✓ |
| Cell Merging | ✓ | ✓ |
| Auto-fill | ✓ | ✓ |
| Smart Formula Editor | ✓ | ✓ |
| Freeze Panes | — | ✓ |
| XLSX Import | ✓ | ✓ |
| XLSX Export | — | ✓ |
| ReoGrid JSON I/O | ✓ | ✓ |
| Cell Types | — | ✓ |
| Row/Column Insert & Delete | — | ✓ |
| Row/Column Show & Hide | — | ✓ |
| Sort & Filter | — | ✓ |
| Delay Load (1,000,000 rows) | — | ✓ |
| Grouping | — | ✓ |
| Conditional Formatting | — | ✓ |
| Cell Tooltip | — | ✓ |
| Animation | — | ✓ |
| Images | — | ✓ |
| Printing | — | ✓ |
Framework Support
| Framework | Package | Component |
|---|---|---|
| React ≥17 | @reogrid/lite/react or @reogrid/pro/react | <Reogrid> (forwardRef) |
| Vue ≥3 | @reogrid/lite/vue or @reogrid/pro/vue | <Reogrid> (Composition API) |
| Vanilla JS/TS | @reogrid/lite or @reogrid/pro | createReogrid() |
Try every Pro feature free for 30 days
All paid plans come with a 30-day free trial — license key issued instantly, no credit card required.