Fastest ruby gem for reading Excel documents.
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
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.
Bug reports and pull requests are welcome on GitHub at https://github.com/dkkoval/fastsheet.
The gem is available as open source under the terms of the MIT License.