GithubHelp home page GithubHelp logo

linecode / hyperformula Goto Github PK

View Code? Open in Web Editor NEW

This project forked from handsontable/hyperformula

0.0 1.0 0.0 64.35 MB

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

Home Page: https://handsontable.com/docs/hyperformula

License: Other

JavaScript 0.58% Makefile 0.05% TypeScript 99.38%

hyperformula's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.