# Features

- [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
- [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.
- [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
- [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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rowsncolumns.app/configuration/features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
