HyperFormula is an open source, spreadsheet-like calculation engine ⚡
Description
HyperFormula allows you to perform spreadsheet-like calculations in your
web applications. It is written in TypeScript and supports all major
JavaScript frameworks. You can use it in a browser or as a service with
Node.js as your back-end technology.
The engine comes with a built-in, localized
library of functions
grouped into different categories, and covers most user-triggered actions
such as CRUD operations,
undo/redo,
and clipboard operations.
It also supports the use of cross-sheet references,
named expressions,
different data types,
and custom functions.
Documentation
Getting started
Install the library from npm:
npm install hyperformula
Once properly installed, you can use it like this:
import { HyperFormula } from 'hyperformula';
const options = {
licenseKey: 'gpl-v3',
};
const data = [['10', '20', '30', '=SUM(A1:C1)']];
const hfInstance = HyperFormula.buildFromArray(data, options);
const mySum = hfInstance.getCellValue({ col: 3, row: 0, sheet: 0 });
console.log(mySum);
View this code online
What can it be used for?
HyperFormula doesn't assume any existing user interface, which makes it
a great general-purpose library that can be used in various business
applications. Here are some examples:
- Smart documents
- Educational apps
- Computation notebooks
- Data grid components
- Business logic builders
- Forms and form builders
- Spreadsheets
- Online calculators
- Low connectivity apps
Contributing
Help us build the fastest and most flexible calculation engine for
business web apps. Please read the Contributing Guide before
making a pull request.
Your help is much appreciated in any of the following topics:
- Making pull requests
- Adding new functions
- Adding new features
- Improving the quality of the existing code
- Improving performance
- Improving documentation and public API
- Reporting bugs
- Suggesting improvements
- Suggesting new features
License
HyperFormula is available under the GPLv3 license.
If you need a commercial license or support and maintenance services, contact our Sales Team.
Acknowledgments
You should know that this project wouldn’t exist without co-financing from European Union funds under the European Regional Development Funds as a part of the Smart Growth Operational Programme. Project implemented as a part of the Polish National Centre for Research and Development: “Fast Track”.
- Name of the programme: Smart Growth Operational Programme 2014-2020
- Project name: “Development of the high-performance calculation engine for processing tabular data of the significant size on mobile devices and workstations using parallel computing and GPU.”
- Project number: POIR.01.01.01-00-0223/18-00
- Beneficiary: Handsoncode sp. z o.o.
- Total budget: PLN 1 117 275.87 (USD ~295 000)
- Amount of grant: PLN 771 807.73 (USD ~204 000)
- Duration: 2018-2019
Authors
Created by Handsontable, NavAlgo,
and Contributors.
© 2021 Handsoncode