135 lines
9.3 KiB
Markdown
135 lines
9.3 KiB
Markdown
---
|
|
name: hyperformula
|
|
description: >
|
|
Use this skill when the user works with HyperFormula (HF) — a headless,
|
|
open-source TypeScript spreadsheet calculation engine. Use it when the user:
|
|
mentions HyperFormula or HF; wants to integrate Excel-like formulas into a
|
|
JS/TS app; evaluate formulas programmatically in a browser or Node.js;
|
|
simulate spreadsheet or Excel calculation behavior server-side; run
|
|
calculations over data parsed from XLSX files (e.g. via SheetJS) in code;
|
|
build a pricing engine, financial model, or what-if analysis in code; define
|
|
custom spreadsheet functions or named expressions outside of a UI context. Do
|
|
NOT use this skill for: general Excel questions unrelated to HF; general
|
|
Google Sheets questions; generic spreadsheet formula-syntax questions outside
|
|
an HF context; formulas used inside Handsontable (use the "handsontable"
|
|
skill instead).
|
|
---
|
|
|
|
# HyperFormula
|
|
|
|
HyperFormula is a **headless, open-source TypeScript spreadsheet calculation engine** for embedding spreadsheet logic in any JavaScript/TypeScript application (browser or Node.js). ~420 built-in functions, dependency graph, undo/redo, i18n (17 languages). Dual-licensed: GPLv3 or commercial.
|
|
|
|
- Docs: https://hyperformula.handsontable.com/
|
|
- npm: https://www.npmjs.com/package/hyperformula
|
|
- GitHub: https://github.com/handsontable/hyperformula
|
|
|
|
## Where to go next
|
|
|
|
Task-oriented references in `references/` (open the one that matches what the user is doing):
|
|
|
|
- [`getting-started.md`](references/getting-started.md) — how to install, create an instance (`buildFromArray` / `buildFromSheets` / `buildEmpty`), and work with cell addresses. Open this for onboarding questions and first-run errors.
|
|
- [`api-quickref.md`](references/api-quickref.md) — runnable examples for CRUD, rows/columns, sheets, exporting data, batching, named expressions, events, undo/redo, clipboard. Open this when implementing or debugging HF API calls.
|
|
- [`custom-functions.md`](references/custom-functions.md) — extending HyperFormula via `FunctionPlugin`: minimal plugin, argument types, volatile functions, range arguments, returning arrays, error handling, aliases, localized names. Open this when adding or debugging custom spreadsheet functions.
|
|
- [`configuration.md`](references/configuration.md) — `ConfigParams` options, Excel-compatibility preset, Google-Sheets preset, and config-related pitfalls (separator collisions, Node ICU, `precisionRounding` change in v3). Open this when tuning behavior or diagnosing locale issues.
|
|
- [`vue3.md`](references/vue3.md) — Vue 3 integration: `markRaw` requirement, Composition API, Pinia/Vuex stores, `destroy()` on unmount. Open this when embedding HF in a Vue 3 app.
|
|
- [`error-handling.md`](references/error-handling.md) — inspecting `CellError`, `ErrorType` enum, `getCellValueDetailedType`, common error causes (`#NAME?`, `#CYCLE!`, `#REF!`, …). Open this when a cell returns an error or you need to branch on result type.
|
|
- [`general-pitfalls.md`](references/general-pitfalls.md) — cross-cutting gotchas: `destroy()` lifecycle, forcing literal strings, Excel-parity caveats, hard limits. Open this when results look wrong or memory grows unboundedly.
|
|
|
|
Below this section is the **Documentation map** — the canonical directory of links to the official HyperFormula docs. Use it when pointing the user to authoritative material.
|
|
|
|
## Documentation map
|
|
|
|
All links resolve to `hyperformula.handsontable.com` unless noted.
|
|
|
|
### Introduction
|
|
- Welcome / Homepage: https://hyperformula.handsontable.com/
|
|
- Demo: https://hyperformula.handsontable.com/docs/guide/demo.html
|
|
|
|
### Overview
|
|
- Quality (test coverage, CI): https://hyperformula.handsontable.com/docs/guide/quality.html
|
|
- Supported browsers: https://hyperformula.handsontable.com/docs/guide/supported-browsers.html
|
|
- Dependencies: https://hyperformula.handsontable.com/docs/guide/dependencies.html
|
|
- Licensing (GPLv3 vs commercial): https://hyperformula.handsontable.com/docs/guide/licensing.html
|
|
- Support: https://hyperformula.handsontable.com/docs/guide/support.html
|
|
|
|
### Getting Started
|
|
- Client-side installation: https://hyperformula.handsontable.com/docs/guide/client-side-installation.html
|
|
- Server-side installation (Node.js): https://hyperformula.handsontable.com/docs/guide/server-side-installation.html
|
|
- Basic usage: https://hyperformula.handsontable.com/docs/guide/basic-usage.html
|
|
- Advanced usage: https://hyperformula.handsontable.com/docs/guide/advanced-usage.html
|
|
- Configuration options guide: https://hyperformula.handsontable.com/docs/guide/configuration-options.html
|
|
- License key setup: https://hyperformula.handsontable.com/docs/guide/license-key.html
|
|
|
|
### Framework Integration
|
|
- React: https://hyperformula.handsontable.com/docs/guide/integration-with-react.html
|
|
- Vue: https://hyperformula.handsontable.com/docs/guide/integration-with-vue.html
|
|
- Angular: https://hyperformula.handsontable.com/docs/guide/integration-with-angular.html
|
|
- Svelte: https://hyperformula.handsontable.com/docs/guide/integration-with-svelte.html
|
|
|
|
### Data Operations
|
|
- Basic operations (CRUD): https://hyperformula.handsontable.com/docs/guide/basic-operations.html
|
|
- Batch operations: https://hyperformula.handsontable.com/docs/guide/batch-operations.html
|
|
- Clipboard operations: https://hyperformula.handsontable.com/docs/guide/clipboard-operations.html
|
|
- Undo-redo: https://hyperformula.handsontable.com/docs/guide/undo-redo.html
|
|
- Sorting data: https://hyperformula.handsontable.com/docs/guide/sorting-data.html
|
|
|
|
### Formulas
|
|
- Specifications and limits: https://hyperformula.handsontable.com/docs/guide/specifications-and-limits.html
|
|
- Cell references (relative, absolute, mixed, cross-sheet): https://hyperformula.handsontable.com/docs/guide/cell-references.html
|
|
- Types of values: https://hyperformula.handsontable.com/docs/guide/types-of-values.html
|
|
- Types of errors: https://hyperformula.handsontable.com/docs/guide/types-of-errors.html
|
|
- Types of operators: https://hyperformula.handsontable.com/docs/guide/types-of-operators.html
|
|
- Order of precedence: https://hyperformula.handsontable.com/docs/guide/order-of-precendece.html
|
|
- Built-in functions (full list, ~400): https://hyperformula.handsontable.com/docs/guide/built-in-functions.html
|
|
- Volatile functions: https://hyperformula.handsontable.com/docs/guide/volatile-functions.html
|
|
- Named expressions: https://hyperformula.handsontable.com/docs/guide/named-expressions.html
|
|
- Array formulas / ARRAYFORMULA: https://hyperformula.handsontable.com/docs/guide/arrays.html
|
|
|
|
### Internationalization
|
|
- i18n features (17 languages): https://hyperformula.handsontable.com/docs/guide/i18n-features.html
|
|
- Localizing function names: https://hyperformula.handsontable.com/docs/guide/localizing-functions.html
|
|
- Date and time handling: https://hyperformula.handsontable.com/docs/guide/date-and-time-handling.html
|
|
|
|
### Compatibility
|
|
- Microsoft Excel compatibility: https://hyperformula.handsontable.com/docs/guide/compatibility-with-microsoft-excel.html
|
|
- Google Sheets compatibility: https://hyperformula.handsontable.com/docs/guide/compatibility-with-google-sheets.html
|
|
- Runtime differences (Excel & Sheets): https://hyperformula.handsontable.com/docs/guide/list-of-differences.html
|
|
|
|
### Advanced Topics
|
|
- Key concepts (AST, dependency graph, evaluation): https://hyperformula.handsontable.com/docs/guide/key-concepts.html
|
|
- Dependency graph: https://hyperformula.handsontable.com/docs/guide/dependency-graph.html
|
|
- Building & testing from source: https://hyperformula.handsontable.com/docs/guide/building.html
|
|
- Custom functions (FunctionPlugin): https://hyperformula.handsontable.com/docs/guide/custom-functions.html
|
|
- Performance: https://hyperformula.handsontable.com/docs/guide/performance.html
|
|
- Known limitations: https://hyperformula.handsontable.com/docs/guide/known-limitations.html
|
|
- File import: https://hyperformula.handsontable.com/docs/guide/file-import.html
|
|
|
|
### Upgrade & Migration
|
|
- Release notes / Changelog: https://hyperformula.handsontable.com/docs/guide/release-notes.html
|
|
- 0.6 → 1.0 migration: https://hyperformula.handsontable.com/docs/guide/migration-from-0.6-to-1.0.html
|
|
- 1.x → 2.0 migration: https://hyperformula.handsontable.com/docs/guide/migration-from-1.x-to-2.0.html
|
|
- 2.x → 3.0 migration: https://hyperformula.handsontable.com/docs/guide/migration-from-2.x-to-3.0.html
|
|
|
|
### API Reference
|
|
- API overview: https://hyperformula.handsontable.com/docs/api/
|
|
- HyperFormula class (all methods): https://hyperformula.handsontable.com/docs/api/classes/hyperformula.html
|
|
- ConfigParams interface (all options): https://hyperformula.handsontable.com/docs/api/interfaces/configparams.html
|
|
- Listeners interface (all events): https://hyperformula.handsontable.com/docs/api/interfaces/listeners.html
|
|
|
|
### npm
|
|
- npm page: https://www.npmjs.com/package/hyperformula
|
|
|
|
### Community & Support
|
|
- GitHub repo: https://github.com/handsontable/hyperformula
|
|
- GitHub Issues: https://github.com/handsontable/hyperformula/issues
|
|
- GitHub Discussions: https://github.com/handsontable/hyperformula/discussions
|
|
- Developer Forum: https://forum.handsontable.com/
|
|
- Commercial support: support@handsontable.com
|
|
- Sales (commercial license): sales@handsontable.com
|
|
- Contact form: https://handsontable.com/contact
|
|
|
|
---
|
|
|
|
> **Last updated: 2026-05-20 · Aligned with HyperFormula 3.3.0.**
|
|
> If the user is on a newer release, confirm API shape against the latest docs (see the **Release notes** link above) before relying on this file.
|