All Projects → handsontable → Hyperformula

handsontable / Hyperformula

Licence: other
A complete, open-source Excel-like calculation engine written in TypeScript. Includes 380+ built-in functions. Maintained by the Handsontable team⚡

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Hyperformula

Handsontable
JavaScript data grid with a spreadsheet look & feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡
Stars: ✭ 16,059 (+7547.14%)
Mutual labels:  spreadsheet, crud, performance
Formula Parser
Javascript Library parsing Excel Formulas and more
Stars: ✭ 544 (+159.05%)
Mutual labels:  spreadsheet, parser, formula
Meriyah
A 100% compliant, self-hosted javascript parser - https://meriyah.github.io/meriyah
Stars: ✭ 690 (+228.57%)
Mutual labels:  parser, performance
Pcp
Performance Co-Pilot
Stars: ✭ 716 (+240.95%)
Mutual labels:  graph, performance
Formula Parser
Parsing and evaluating mathematical formulas given as strings.
Stars: ✭ 62 (-70.48%)
Mutual labels:  parser, formula
Opt einsum
⚡️Optimizing einsum functions in NumPy, Tensorflow, Dask, and more with contraction order optimization.
Stars: ✭ 397 (+89.05%)
Mutual labels:  gpu-acceleration, performance
Reogrid
Fast and powerful .NET spreadsheet component, support data format, freeze, outline, formula calculation, chart, script execution and etc. Compatible with Excel 2007 (.xlsx) format and working on .NET 3.5 (or client profile), WPF and Android platform.
Stars: ✭ 532 (+153.33%)
Mutual labels:  spreadsheet, formula
Luckysheet
Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
Stars: ✭ 9,772 (+4553.33%)
Mutual labels:  spreadsheet, formula
spreadsheet
TypeScript/javascript spreadsheet parser, with formulas.
Stars: ✭ 40 (-80.95%)
Mutual labels:  formula, spreadsheet
Rdflib
RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.
Stars: ✭ 1,584 (+654.29%)
Mutual labels:  graph, parser
Nodable
a node-able bidirectionnal expression editor.
Stars: ✭ 103 (-50.95%)
Mutual labels:  graph, parser
Nmonvisualizer
A Java GUI tool for analyzing NMON system files
Stars: ✭ 114 (-45.71%)
Mutual labels:  parser, performance
Ratel Core
High performance JavaScript to JavaScript compiler with a Rust core
Stars: ✭ 367 (+74.76%)
Mutual labels:  parser, performance
OpenWebSheet
OpenSource Web based spreadsheet
Stars: ✭ 30 (-85.71%)
Mutual labels:  formula, spreadsheet
fast-formula-parser
Parse and evaluate MS Excel formula in javascript.
Stars: ✭ 341 (+62.38%)
Mutual labels:  formula, spreadsheet
Uplot
📈 A small, fast chart for time series, lines, areas, ohlc & bars
Stars: ✭ 6,808 (+3141.9%)
Mutual labels:  graph, performance
Escaya
An blazing fast 100% spec compliant, incremental javascript parser written in Typescript
Stars: ✭ 217 (+3.33%)
Mutual labels:  parser, performance
Calx.js
jQuery Calx - a jQuery plugin for creating formula-based calculation form
Stars: ✭ 190 (-9.52%)
Mutual labels:  spreadsheet, formula
Excelize
Golang library for reading and writing Microsoft Excel™ (XLSX) files.
Stars: ✭ 10,286 (+4798.1%)
Mutual labels:  formula, spreadsheet
Lagmonitor
Monitor performance of your Minecraft server. Similar to VisualVM and Java Mission Control.
Stars: ✭ 147 (-30%)
Mutual labels:  graph, performance
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: 'agpl-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 a triple-licensed software. You can use it under the open source AGPLv3 license, or a free license in all your non-commercial projects. There is also a commercial license, and support services available.

Authors

Created by Handsontable, NavAlgo, and Contributors.

© 2020 Handsoncode

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].