Giter VIP home page Giter VIP logo

crystalstone / 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

hyperformula's People

Contributors

ambudnik avatar aninde avatar bardek8 avatar budnix avatar izulin avatar jansiegel avatar krzysztofspilka avatar scarletfog avatar swistach avatar swistak35 avatar voodoo11 avatar wojciechczerniak avatar wszymanski avatar

Watchers

 avatar

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.