Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Pull request Compare This branch is even with databasically:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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 <>
Something went wrong with that request. Please try again.