Fastsheet
Fastest ruby gem for reading Excel documents.
Installation
You should have Rust installed to build this gem. Tested with Ruby 3.2+.
Add this line to your application's Gemfile:
gem 'fastsheet'And then execute:
$ bundle
Or install it yourself as:
$ gem install fastsheet
Usage
Open a sheet:
require 'fastsheet'
sheet = Fastsheet::Sheet.new('path/to/sheet.xlsx')
# number of columns
sheet.width
# number of rows
sheet.heightGet rows or columns:
sheet.rows
sheet.row(42)
sheet.column(1)Iterators (returns enumerator if no block given):
sheet.each_row { |r| ... }
sheet.each_column { |c| ... }
sheet.each_column.to_a # materialize columns if you need them allThat's all API for now. Dates and formula are currently returned as nil.
Feel free to open an issue if you need more.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/dkkoval/fastsheet.
License
The gem is available as open source under the terms of the MIT License.