https://github.com/xuri/efp
Go Language Microsoft Excel™ Formula Parser
https://github.com/xuri/efp
ast efp excel excelize formula formula-parser go golang parser spreadsheet xlsx
Last synced: about 2 months ago
JSON representation
Go Language Microsoft Excel™ Formula Parser
- Host: GitHub
- URL: https://github.com/xuri/efp
- Owner: xuri
- License: bsd-3-clause
- Created: 2017-07-08T12:42:22.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-02-27T11:00:51.000Z (4 months ago)
- Last Synced: 2025-04-10T06:39:18.122Z (3 months ago)
- Topics: ast, efp, excel, excelize, formula, formula-parser, go, golang, parser, spreadsheet, xlsx
- Language: Go
- Homepage: https://xuri.me/excelize
- Size: 53.7 KB
- Stars: 121
- Watchers: 14
- Forks: 28
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# EFP (Excel Formula Parser)
[](https://github.com/xuri/efp/actions?workflow=Go)
[](https://codecov.io/gh/xuri/efp)
[](https://goreportcard.com/report/github.com/xuri/efp)
[](https://pkg.go.dev/github.com/xuri/efp)
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fxuri%2Fefp?ref=badge_shield)Using EFP (Excel Formula Parser) you can get an Abstract Syntax Tree (AST) from Excel formula.
## Installation
```bash
go get github.com/xuri/efp
```## Example
```go
package mainimport "github.com/xuri/efp"
func main() {
ps := efp.ExcelParser()
ps.Parse("=SUM(A3+B9*2)/2")
println(ps.PrettyPrint())
}
```Get AST
```text
SUM
A3
+
B9
*
2
/
2
```## 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 Go language 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](https://opensource.org/licenses/BSD-3-Clause).
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fxuri%2Fefp?ref=badge_large)