Skip to content
master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Oct 11, 2021
May 11, 2020
Oct 19, 2021
Oct 19, 2021
Oct 19, 2021
Oct 19, 2021
HyperFormula

HyperFormula is an open source, spreadsheet-like calculation engine

GitHub Workflow Status FOSSA Status codecov Language grade: JavaScript Known Vulnerabilities GitHub contributors

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';

// define the options
const options = {
  licenseKey: 'gpl-v3',
};

// define the data
const data = [['10', '20', '30', '=SUM(A1:C1)']];

// build an instance with defined options and data 
const hfInstance = HyperFormula.buildFromArray(data, options);

// call getCellValue to get the calculation results
const mySum = hfInstance.getCellValue({ col: 3, row: 0, sheet: 0 });

// print the result in the browser's console
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

eu-funds

Authors

Created by Handsontable, NavAlgo, and Contributors.

© 2021 Handsoncode