Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github/ISSUE_TEMPLATE
.travis.yml
CODE_OF_CONDUCT.md
LICENSE
PULL_REQUEST_TEMPLATE.md
README.md
efp.go
efp_test.go

README.md

EFP (Excel Formula Parser)

Build Status Code Coverage Go Report Card GoDoc Licenses

Using EFP (Excel Formula Parser) you can get an Abstract Syntax Tree (AST) from Excel formula.

Installation

go get github.com/xuri/efp

Example

package main

import "github.com/xuri/efp"

func main() {
    ps := efp.ExcelParser()
    ps.Parse("=SUM(A3+B9*2)/2")
    println(ps.PrettyPrint())
}

Get AST

SUM <Function> <Start>
    A3 <Operand> <Range>
    + <OperatorInfix> <Math>
    B9 <Operand> <Range>
    * <OperatorInfix> <Math>
    2 <Operand> <Number>
 <Function> <Stop>
/ <OperatorInfix> <Math>
2 <Operand> <Number>

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

Credits

EFP (Excel Formula Parser) is a Golang port of E. W. Bachtal's Excel formula parser.

Licenses

This program is under the terms of the BSD 3-Clause License. See https://opensource.org/licenses/BSD-3-Clause.