Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
96 lines (65 sloc) 2.44 KB
Spreadsheet::ParseExcel - Get information from an Excel file.
Version: 0.5.3
Date: 2011-04-22
Short Description:
This is databasically's version of the parseexcel gem and is not actively maintained as the original gem is no longer maintained. This version was created to resolve a bug reading Unicode characters. The resulting error is as follows:
undefined method `&' for "\x00":String
This version of the library resolves this error.
Spreadsheet::ParseExcel allows you to get information out of a
simple Excel file
This Package is an - as of today incomplete - translation of
Kawai Takanoris Perl-Module.
* ruby 1.8
De-Compress archive and enter its top directory.
Then type:
$ ruby install.rb config
$ ruby install.rb setup
($ su)
# ruby install.rb install
You can also install files into your favorite directory
by supplying install.rb with some options. Try "ruby install.rb --help".
More information can be found in the redistributed file usage-en.txt
#!/usr/bin/env ruby
require 'parseexcel'
# your first step is always reading in the file.
# that gives you a workbook-object, which has one or more worksheets,
# just like in Excel you have the possibility of multiple worksheets.
workbook = Spreadsheet::ParseExcel.parse(path_to_file)
# usually, you want the first worksheet:
worksheet = workbook.worksheet(0)
# now you can either iterate over all rows, skipping the first number of
# rows (in case you know they just contain column headers)
skip = 2
worksheet.each(skip) { |row|
# a row is actually just an Array of Cells..
first_cell =
# how you get data out of the cell depends on what datatype you
# expect:
# if you expect a String, you can pass an encoding and (iconv
# required) the content of the cell will be converted.
str ='latin1')
# if you expect a Float:
float =
# if you expect an Integer:
int =
# if you expect a Date:
date =
# ParseExcel makes a guess at what Datatype a cell has. At the moment,
# possible values are: :date, :numeric, :text
celltype = first_cell.type
# if you know exactly which row your data resides in, you may just
# retrieve that row, which is again simply an Array of Cells
row = worksheet.row(26)
Author: Hannes Wyss <>