# Rows n’ Columns Docs

## Rows n' Columns

- [Introduction](https://docs.rowsncolumns.app/readme.md): Introducing Spreadsheet 2, the ultimate spreadsheet component for React that empowers you to render cells and editors declaratively while fully customizing the components with React's power.
- [License](https://docs.rowsncolumns.app/license.md): Trial, Professional and Enterprise licenses to suit your needs
- [Demos](https://docs.rowsncolumns.app/demos.md): Play around with Spreadsheet 2
- [Installation](https://docs.rowsncolumns.app/getting-started/installation.md): Install Spreadsheet 2 using your preferred package manager.
- [Spreadsheet state](https://docs.rowsncolumns.app/getting-started/spreadsheet-state.md): Use hooks to manage spreadsheet state
- [Headless UI](https://docs.rowsncolumns.app/getting-started/headless-ui.md): Use any preferred state management library
- [Formula evaluation](https://docs.rowsncolumns.app/getting-started/formula-evaluation.md): Formula evaluation in Spreadsheet 2 with support for client-side calculation, Excel/Google Sheets compatibility, and custom functions.
- [Imperative Spreadsheet API](https://docs.rowsncolumns.app/getting-started/imperative-spreadsheet-api.md): As an escape hatch, we bundle an imperative API for the Spreadsheet to control spreadsheet states
- [Examples](https://docs.rowsncolumns.app/getting-started/examples.md): Some examples to get your started with Spreadsheet 2
- [Excel compatibility](https://docs.rowsncolumns.app/getting-started/excel-google-sheet-compatibility.md): Feature compatibility comparison between Excel/Google Sheets and Rows n Columns Spreadsheet
- [Roadmap](https://docs.rowsncolumns.app/getting-started/roadmap.md)
- [Features](https://docs.rowsncolumns.app/configuration/features.md)
- [Data validation](https://docs.rowsncolumns.app/configuration/features/data-validation.md): Validate and show errors to users if they enter invalid data
- [Custom formula evaluation](https://docs.rowsncolumns.app/configuration/features/custom-formula-evaluation.md): Formula parser and calculation is plug n play
- [Iterative calculation](https://docs.rowsncolumns.app/configuration/features/iterative-calculation.md)
- [Formula auditing](https://docs.rowsncolumns.app/configuration/features/formula-auditing.md): Visualize formula dependencies with trace precedents and dependents
- [Real-time data](https://docs.rowsncolumns.app/configuration/features/real-time-data.md): Display real-time data, by subscribing to Websockets to REST API
- [Cell editors](https://docs.rowsncolumns.app/configuration/features/cell-editors.md): Switch between custom or default cell editor
- [Cell renderer](https://docs.rowsncolumns.app/configuration/features/cell-renderer.md): Customise Cells to your liking
- [Structured Cell Renderer](https://docs.rowsncolumns.app/configuration/features/structured-cell-renderer.md): Create your own custom schema on cell and render custom cells like Sparklines, document objects etc
- [Theming](https://docs.rowsncolumns.app/configuration/features/theming.md): Themes are used to custom the colours and default fonts of the Spreadsheet. You can also have customise colours of charts, embeds using a theme
- [Styling](https://docs.rowsncolumns.app/configuration/features/styling.md): Add borders, colours, stroke styles or custom gradients very easily
- [Context menu](https://docs.rowsncolumns.app/configuration/features/context-menu.md): Customise Context Menu
- [Localisation](https://docs.rowsncolumns.app/configuration/features/localisation.md): Add text in any language in the Spreadsheet
- [Named ranges](https://docs.rowsncolumns.app/configuration/features/named-ranges.md): Name ranges and use them in formulas
- [Basic filter or Excel AutoFilter](https://docs.rowsncolumns.app/configuration/features/basic-filter-or-excel-autofilter.md): Use a Basic filter or Autofilter to quickly find, filter and sort tabular data
- [Charts](https://docs.rowsncolumns.app/configuration/features/charts.md): Rowsncolumns Spreadsheet renders charts via ECharts (or Plotly via opt-in), parses + emits OOXML chart XML, and accepts a custom renderer if neither default fits.
- [Slicers](https://docs.rowsncolumns.app/configuration/features/slicers.md): Add, move, resize, and manage slicers for table filtering
- [Embedded content](https://docs.rowsncolumns.app/configuration/features/embedded-content.md): Embed external content, pictures and drawings
- [Calculate on-demand](https://docs.rowsncolumns.app/configuration/features/calculate-on-demand.md): Trigger a full recalc whenever you need it.
- [Pivoting and Grouping](https://docs.rowsncolumns.app/configuration/features/pivoting-and-grouping.md): Create pivot tables with row/column grouping, aggregations, sorting, filtering, totals, drilldown, and slicer integration
- [Outline & Grouping](https://docs.rowsncolumns.app/configuration/features/outline-grouping.md): Group rows or columns into collapsible outlines with Excel-style +/- gutter buttons and a 1/2/3 level selector
- [Print preview](https://docs.rowsncolumns.app/configuration/features/print-preview.md): Google-Sheets-style full-screen print preview dialog with paginated previews, paper-size + margin + orientation settings, headers/footers, scope, and a paginated browser print
- [Tokenizer](https://docs.rowsncolumns.app/configuration/features/tokenizer.md): A Tokenizer tells the Spreadsheet how to identify formulas and string tokens in the user entered value of cell.
- [Lazy loading/Infinite scrolling](https://docs.rowsncolumns.app/configuration/features/lazy-loading-infinite-scrolling.md): Load data based on the visible viewport of the grid
- [OpenAI/Chat GPT Integration](https://docs.rowsncolumns.app/configuration/features/openai-chat-gpt-integration.md): Built-in OpenAI integration using ASK\_OPENAI function
- [Search](https://docs.rowsncolumns.app/configuration/features/search.md): Use the provided hooks and components to quickly add search functionality
- [Formula protection](https://docs.rowsncolumns.app/configuration/features/formula-protection.md): Add extra layer of protection to prevent users from copying formulas
- [Autofill](https://docs.rowsncolumns.app/configuration/features/autofill.md): Automatically fill a series of data in the Spreadsheet
- [Paint Format](https://docs.rowsncolumns.app/configuration/features/paint-format.md): Copy formatting from one cell or range and apply it to another
- [Advanced Grid Features](https://docs.rowsncolumns.app/configuration/features/advanced-grid-features.md): AI-powered autofill and advanced grid navigation features
- [Export canvas as image](https://docs.rowsncolumns.app/configuration/features/export-canvas-as-image.md): Export the entire visible canvas or part of the canvas as an image
- [Cell format Registry](https://docs.rowsncolumns.app/configuration/features/cell-format-registry.md): Spreadsheet lets you store and compress duplicate format data using cellxfs registries
- [Shared strings](https://docs.rowsncolumns.app/configuration/features/shared-strings.md): Spreadsheet can store repeated text in a shared string table and reference it from cell data.
- [Rich text formatting](https://docs.rowsncolumns.app/configuration/features/rich-text-formatting.md): Per-segment formatting inside a single cell — bold, italic, underline, strikethrough, color, font family, font size — plus \`@mention\` chips.
- [Mentions](https://docs.rowsncolumns.app/configuration/features/mentions.md): Add @mentions functionality to spreadsheet cells
- [Cell Tooltips and Popovers](https://docs.rowsncolumns.app/configuration/features/cell-tooltips-and-popovers.md): Display tooltips and expandable content for spreadsheet cells
- [Multi-Instance Spreadsheets](https://docs.rowsncolumns.app/configuration/features/multi-instance-spreadsheets.md): Run multiple spreadsheet instances in the same application
- [User-Defined Colors](https://docs.rowsncolumns.app/configuration/features/user-defined-colors.md): Create custom color palettes for your spreadsheet
- [Custom Color Picker](https://docs.rowsncolumns.app/configuration/features/custom-color-picker.md): Replace the built-in color picker with your own component
- [Version comparison](https://docs.rowsncolumns.app/configuration/features/version-comparison.md)
- [Navigate to Sheet Range](https://docs.rowsncolumns.app/configuration/features/navigate-to-range.md): Programmatically navigate and scroll to specific cell ranges
- [Calculated columns](https://docs.rowsncolumns.app/configuration/features/calculated-columns.md): Add columns with formulas, join multiple tables
- [Structured references](https://docs.rowsncolumns.app/configuration/features/structured-references.md): Add structured data to Spreadsheet and reference them using semantic formulas
- [Schema based tables and columns](https://docs.rowsncolumns.app/configuration/features/structured-references/schema-based-tables-and-columns.md): Convert any dataset to a schema driven table
- [Drag and Drop](https://docs.rowsncolumns.app/configuration/features/drag-and-drop.md): Drag and drop images and CSV/Excel files from your desktop
- [Text to Columns](https://docs.rowsncolumns.app/configuration/features/text-to-columns.md): Split text in cells into multiple columns
- [Conditional formatting](https://docs.rowsncolumns.app/configuration/features/conditional-formatting.md): Change text or background colour of cells based on the value
- [Sparklines](https://docs.rowsncolumns.app/configuration/features/sparklines.md): Inline mini-charts inside cells — line, column, or win/loss
- [Comments](https://docs.rowsncolumns.app/configuration/features/comments.md): Legacy single-author cell notes with author + rich text + author color
- [Gradient cell fills](https://docs.rowsncolumns.app/configuration/features/gradient-fills.md): Linear and radial gradient fills on individual cells — round-trips XLSX and renders on canvas
- [Linked data types](https://docs.rowsncolumns.app/configuration/features/linked-data-types.md): Cells that carry a structured entity (Stocks, Geography, custom) with refreshable fields accessed via dot notation
- [LAMBDA and higher-order functions](https://docs.rowsncolumns.app/configuration/features/lambda-and-higher-order-functions.md): LAMBDA, LET, MAP/REDUCE/BYROW/BYCOL/SCAN/MAKEARRAY, and GROUPBY/PIVOTBY
- [Undo/Redo](https://docs.rowsncolumns.app/configuration/features/undo-redo.md): All change history is preserved. Making versioning simple.
- [Components](https://docs.rowsncolumns.app/configuration/components.md)
- [Canvas Grid](https://docs.rowsncolumns.app/configuration/components/canvas-grid.md): The Canvas Grid that renders the spreadsheet
- [Toolbar](https://docs.rowsncolumns.app/configuration/components/toolbar.md): Toolbar component is a wrapper for all formatting buttons of the Spreadsheet
- [Formula Bar](https://docs.rowsncolumns.app/configuration/components/formula-bar.md): Display and edit cell formulas and values
- [Font and Text Selectors](https://docs.rowsncolumns.app/configuration/components/font-and-text-selectors.md): Font family, size, and text formatting selectors
- [Sheet Tabs](https://docs.rowsncolumns.app/configuration/components/sheet-tabs.md): Quickly switch between multiple sheets
- [Sheet Switcher](https://docs.rowsncolumns.app/configuration/components/sheet-switcher.md): Dropdown menu with a list of sheets, both hidden and visible
- [Sheet Status](https://docs.rowsncolumns.app/configuration/components/sheet-status.md): Show average, count and sum of numerical values
- [Range Selector](https://docs.rowsncolumns.app/configuration/components/range-selector.md): Displays and let users quickly select a named range
- [Formula Input](https://docs.rowsncolumns.app/configuration/components/formula-input.md): Use a formula input component outside the spreadsheet
- [Selection Input](https://docs.rowsncolumns.app/configuration/components/selection-input.md): Get selections from Spreadsheet and display it in an input field
- [SheetSearch](https://docs.rowsncolumns.app/configuration/components/sheetsearch.md): Search within a sheet with this component
- [NamedRangeEditor](https://docs.rowsncolumns.app/configuration/components/namedrangeeditor.md): Create and edit named ranges
- [DeleteSheetConfirmation](https://docs.rowsncolumns.app/configuration/components/deletesheetconfirmation.md): A confirmation dialog that can be displayed before deleting a sheet
- [TableEditor](https://docs.rowsncolumns.app/configuration/components/tableeditor.md): A table editor dialog to edit name, range and other options of a table
- [Cell Format Editor](https://docs.rowsncolumns.app/configuration/components/cell-format-editor.md): Component to edit cell format. It can be shown in a modal dialog or embedded in your own component.
- [Conditional Format Editor](https://docs.rowsncolumns.app/configuration/components/conditional-format-editor.md): Adds a Conditonal format editor component
- [Data Validation Editor](https://docs.rowsncolumns.app/configuration/components/data-validation-editor.md): Allow users to edit data validation rules
- [Insert Link Editor](https://docs.rowsncolumns.app/configuration/components/conditional-format-editor-1.md): Add and remove hyperlinks in cells
- [Insert Image Editor](https://docs.rowsncolumns.app/configuration/components/conditional-format-editor-2.md): Adds a image editor
- [Floating Cell Editor](https://docs.rowsncolumns.app/configuration/components/floating-cell-editor.md): Floating Cell Editor component can be used to create Mobile editors that resides out of the Spreadsheet container.
- [Grid Footer](https://docs.rowsncolumns.app/configuration/components/grid-footer.md): Footer component for adding rows dynamically at the bottom of the spreadsheet
- [API](https://docs.rowsncolumns.app/configuration/api.md): Spreadsheet API in a nutshell
- [Cell Data](https://docs.rowsncolumns.app/configuration/api/cell-data.md): Defines the data model for a cell
- [Sheets](https://docs.rowsncolumns.app/configuration/api/sheets.md): Supports multiple sheets with cross-references and tables
- [SpreadsheetProvider](https://docs.rowsncolumns.app/configuration/api/spreadsheetprovider.md): Context Provider that isolates Spreadsheet internal state
- [useSpreadsheet](https://docs.rowsncolumns.app/configuration/api/usespreadsheet.md): useSpreadsheet exposes some of the internal API via hooks
- [Hooks](https://docs.rowsncolumns.app/configuration/api/hooks.md): Utility hooks for advanced spreadsheet functionality
- [Modules](https://docs.rowsncolumns.app/configuration/api/modules.md): Spreadsheet 2 comes with various modules to help you compose the spreadsheet that you like.
- [SheetCell](https://docs.rowsncolumns.app/configuration/api/sheetcell.md): Sheet Cell is a primitive to generate CellData object
- [Using Spreadsheet with NextJS](https://docs.rowsncolumns.app/configuration/using-spreadsheet-with-nextjs.md): SSR is supported, but Server components, not yet
- [Keyboard shortcuts](https://docs.rowsncolumns.app/configuration/keyboard-shortcuts.md): Use keyboard shortcuts to navigate, format and use formulas.
- [Server-side Spreadsheet](https://docs.rowsncolumns.app/configuration/spreadsheet-interface.md): Update spreadsheet state and run formula evaluation on the backend
- [Real time collaboration](https://docs.rowsncolumns.app/collaboration/real-time-collaboration.md): Built for real-time editing and viewing of Spreadsheets
- [Yjs (CRDT) Collaboration](https://docs.rowsncolumns.app/collaboration/yjs-collaboration.md): Add real-time collaboration to Spreadsheet 2 using Yjs
- [ShareDB (OT) Collaboration](https://docs.rowsncolumns.app/collaboration/sharedb-collaboration.md): Real-time collaboration using ShareDB
- [Loro (CRDT) Collaboration](https://docs.rowsncolumns.app/collaboration/loro-collaboration.md): Real-time collaboration using Loro CRDTs
- [Supabase (OT) Collaboration](https://docs.rowsncolumns.app/collaboration/supabase-realtime-collaboration.md): Add real-time collaboration to Spreadsheet using Supabase with PostgreSQL persistence
- [Charts](https://docs.rowsncolumns.app/charts/e-charts.md): Add visually stunning charts using our charts framework.
- [Custom charts](https://docs.rowsncolumns.app/charts/custom-charts.md): Spreadsheet 2 is agnostic of chart renderer. We maintain a schema for the chart, but you can choose to use any chart libraries out ther
- [CSV](https://docs.rowsncolumns.app/excel-and-google-sheets/csv.md): Import and Export from CSV file
- [Excel and ODS](https://docs.rowsncolumns.app/excel-and-google-sheets/excel.md): Import and Export from XLSX and ODS files
- [Google sheets (Coming soon)](https://docs.rowsncolumns.app/excel-and-google-sheets/google-sheets.md): Import and Export from Google sheets
- [Named functions](https://docs.rowsncolumns.app/functions/named-functions.md): Create custom named functions, to fetch async or real-time data
- [Array formulas](https://docs.rowsncolumns.app/functions/array-formulas.md): Formulas can return values that spans multiple cells
- [Server side data persistence](https://docs.rowsncolumns.app/data-persistence/server-side-data-persistence.md): Completely agnostic to how you manage the back-end
- [React Query integration](https://docs.rowsncolumns.app/data-persistence/react-query-integration.md): React-query is a first-class library to manage asynchronous states
- [Browser support](https://docs.rowsncolumns.app/specifications/browser-support.md): Spreadsheet 2 supports all evergreen desktop browsers and mobile browsers.
- [Third party licenses](https://docs.rowsncolumns.app/specifications/third-party-licenses.md): Thanks to some amazing open-source projects.
- [Contact support](https://docs.rowsncolumns.app/support/contact-support.md): Talk to our sales team about your requirements, learn about custom pricing, or request a demo.
- [Report bugs](https://docs.rowsncolumns.app/support/report-bugs.md): Use Github issues to report bugs
- [Feature requests](https://docs.rowsncolumns.app/support/feature-requests.md): Always open to new features
