This could be a good transition from a spreadsheet to a report. I wonder how data binding could work for that?
In search of a parser toolkit I had come across this https://github.com/handsontable/hyperformula which uses chevrotain to parse spreadsheet formulas and decided to use chevrotain for the parsing.