Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 3 months 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 (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-15T08:38:45.000Z (3 months ago)
- Last Synced: 2024-10-25T01:25:06.835Z (3 months ago)
- Topics: crystal-lang, excel, spreadsheet, xslx
- Language: Crystal
- Homepage: https://d1ceward.github.io/xlsx-parser
- Size: 188 KB
- Stars: 17
- Watchers: 2
- 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)
![GitHub Workflow Status (event)](https://github.com/d1ceward/xlsx-parser/actions/workflows/main.yml/badge.svg?branch=master)
[![GitHub issues](https://img.shields.io/github/issues/d1ceward/xlsx-parser)](https://github.com/d1ceward/xlsx-parser/issues)
[![GitHub license](https://img.shields.io/github/license/d1ceward/xlsx-parser)](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