649 GitHub stars and counting — handsontable/formula-parser is a JavaScript project TopGit is tracking across repositories on the platform. Javascript Library parsing Excel Formulas and more
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
:warning: This repository is deprecated. We've released new and improved HyperFormula engine.
Formula Parser
Library provides a Parser class that evaluates excel and mathematical formulas.
Install
A recommended way to install Formula Parser is through NPM using the following command:
$ npm install hot-formula-parser --save
Node.js:
var FormulaParser = require('hot-formula-parser').Parser;
var parser = new FormulaParser();
parser.parse('SUM(1, 6, 7)'); // It returns `Object {error: null, result: 14}`
Browser:
<script src="/node_modules/hot-formula-parser/dist/formula-parser.min.js"></script>
<script>
var parser = new formulaParser.Parser();
parser.parse('SUM(1, 6, 7)'); // It returns `Object {error: null, result: 14}`
</script>
Features
It supports:
Any numbers, negative and positive as float or integer;
Arithmetic operations like +, -, /, *, %, ^;
Logical operations like AND(), OR(), NOT(), XOR();
Comparison operations like =, >, >=, <, <=, <>;
All JavaScript Math constants like PI(), E(), LN10(), LN2(), LOG10E(), LOG2E(), SQRT1_2(), SQRT2();
String operations like & (concatenation eq. parser.parse('-(2&5)'); will return -25);
All excel formulas defined in formula.js;
Relative and absolute cell coordinates like A1, $A1, A$1, $A$1;
Build-in variables like TRUE, FALSE, NULL
Custom variables;
Custom functions/formulas;
Node and Browser environment.
API (methods)
var parser = new formulaParser.Parser();
.parse(expression)
Parses and evaluates provided expression. It always returns an object with result and error properties. result property
always keep evaluated value. If error occurs error property will be set as:
#ERROR! General error;
#DIV/0! Divide by zero error;
#NAME? Not recognised function name or variable name;
#N/A Indicates that a value is not available to a formula;
#NUM! Occurs when formula encounters an invalid number;
#VALUE! Occurs when one of formula arguments is of the wrong type.
Fired while calling function. If function was defined earlier using setFunction you can overwrite it's result by this hook.
You can also use this to override result of build-in formulas.
How active is development on handsontable/formula-parser?
The most recent commit recorded on handsontable/formula-parser was 5.3 years ago, based on the GitHub push timestamp. The repository has 200 forks — one of the better signals of community interest.
How many stars does handsontable/formula-parser have?
handsontable/formula-parser has 649 GitHub stars — refresh the page for the live number, or check github.com/handsontable/formula-parser. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is handsontable/formula-parser open source?
Yes — handsontable/formula-parser ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/handsontable/formula-parser.
What is handsontable/formula-parser?
handsontable/formula-parser (handsontable/formula-parser) is a JavaScript project on GitHub. From the project's own README: Javascript Library parsing Excel Formulas and more
Where do I read more about handsontable/formula-parser?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/handsontable/formula-parser is the definitive source.
Read full README in the tab above.
Is formula-parser worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of formula-parser.