https://github.com/d1ceward/xlsx-parser
Crystal wrapper for parsing .xlsx spreadsheets
https://github.com/d1ceward/xlsx-parser
crystal-lang excel spreadsheet xslx
Last synced: about 2 hours ago
JSON representation
Crystal wrapper for parsing .xlsx spreadsheets
- Host: GitHub
- URL: https://github.com/d1ceward/xlsx-parser
- Owner: d1ceward
- License: mit
- Created: 2019-11-12T10:44:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-02T16:46:08.000Z (2 months ago)
- Last Synced: 2025-03-30T23:41:12.410Z (about 1 month ago)
- Topics: crystal-lang, excel, spreadsheet, xslx
- Language: Crystal
- Homepage: https://d1ceward.github.io/xlsx-parser
- Size: 188 KB
- Stars: 17
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# xlsx-parser (v1.2.0)

[](https://github.com/d1ceward/xlsx-parser/issues)
[](https://github.com/d1ceward/xlsx-parser/blob/master/LICENSE)Crystal wrapper for parsing .xlsx spreadsheets
:rocket: Suggestions for new improvements are welcome in the issue tracker.
Note: Work with Cystal versions `>= 0.36.0, < 2.0.0`
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
xlsx-parser:
github: d1ceward/xlsx-parser
version: 1.2.0
```2. Run `shards install`
## Usage
### With IO
```crystal
require "xlsx-parser"file_io = File.new("./my_super_spreadsheet.xlsx")
book = XlsxParser::Book.new(file_io)
```### With file path
```crystal
require "xlsx-parser"book = XlsxParser::Book.new("./my_super_spreadsheet.xlsx")
```### Print rows content
```crystal
# Iterate on each row of the first sheet
book.sheets[0].rows.each do |row|
puts row #=> { "A1" => "Col A Row 1", "B1" => "Col B Row 1" }
end# Second sheet
book.sheets[1]book.close
```Documentation available here : https://d1ceward.github.io/xlsx-parser/
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/d1ceward/xlsx-parser. By contributing you agree to abide by the Code of Merit.
1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request## Contributors
- [d1ceward](https://github.com/d1ceward) - creator and maintainer