# Spreadsheet::ParseExcel

**URL:** <https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931>\
**Category:** Ruby\
**Created:** [February 7, 2006, 9:29am UTC](https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931 "2006-02-07T09:29:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![spreadsheet](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5fc32e/32.png) [@spreadsheet](https://www.ruby-forum.com/u/spreadsheet)\
**Post date:** [February 7, 2006, 9:29am UTC](https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931/1 "2006-02-07T09:29:44Z")

</div>

# Spreadsheet::ParseExcel - Get information from an Excel file.

Version: 0.3.2  
Date: 2005-12-15

Short Description:  
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.

## Requirements

- ruby 1.8

## Install

De-Compress archive and enter its top directory.  
Then type:

```
$ ruby setup.rb config
$ ruby setup.rb setup

```

($ su)  
# ruby setup.rb install

You can also install files into your favorite directory  
by supplying setup.rb some options. Try “ruby setup.rb --help”.

## Usage

```
    workbook = Spreadsheet::ParseExcel.parse(path_to_file)
    worksheet = workbook.worksheet(0)
    worksheet.each(1) { |row|
            puts row.at(0)
    }

```

## License

```
    LGPL

```

URL: [http://download.ywesee.com/parseexcel](http://download.ywesee.com/parseexcel)  
Author: Hannes W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

Enjoy, and thanks for your feedback!  
Hannes

---

<div class="post-metadata">

**Author:** ![spreadsheet](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5fc32e/32.png) [@spreadsheet](https://www.ruby-forum.com/u/spreadsheet)\
**Post date:** [February 7, 2006, 3:09pm UTC](https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931/2 "2006-02-07T15:09:53Z")

</div>

Excellent! I’ll definitely be using this in the near future.

---

<div class="post-metadata">

**Author:** ![spreadsheet](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5fc32e/32.png) [@spreadsheet](https://www.ruby-forum.com/u/spreadsheet)\
**Post date:** [August 4, 2009, 10:50am UTC](https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931/3 "2009-08-04T10:50:54Z")

</div>

Hi,

I am using ruby ruby 1.8.6 and spreadsheet (0.6.4).  
I am trying to oarse an excel file.  
My code is like :

```
require 'rubygems'
require 'spreadsheet'
require 'parseexcel'
equire 'parseexcel/parseexcel'
require 'parseexcel/parser'

  workbook = 

```

Spreadsheet::ParseExcel.parse(“public/downloads/commissions/google/test.xls”)  
worksheet = workbook.worksheet(0)

```
    worksheet.each { |row|
            puts row.at(0).to_s

    }

```

But it prints ‘nil’. I have data in my excel file.

Could you please help me?

Thanks,  
Anu

Hannes W. wrote:

> # Spreadsheet::ParseExcel - Get information from an Excel file.
> 
> Version: 0.3.2  
> Date: 2005-12-15
> 
> Short Description:  
> 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.
> 
> ## Requirements
> 
> - ruby 1.8
> 
> ## Install
> 
> De-Compress archive and enter its top directory.  
> Then type:
> 
> ```
> $ ruby setup.rb config
> $ ruby setup.rb setup
> 
> ```
> 
> ($ su)  
> # ruby setup.rb install
> 
> You can also install files into your favorite directory  
> by supplying setup.rb some options. Try “ruby setup.rb --help”.
> 
> ## Usage
> 
> ```
> workbook = Spreadsheet::ParseExcel.parse(path_to_file)
> worksheet = workbook.worksheet(0)
> worksheet.each(1) { |row|
> puts row.at(0)
> }
> 
> ```
> 
> ## License
> 
> ```
> LGPL
> 
> ```
> 
> URL: [http://download.ywesee.com/parseexcel](http://download.ywesee.com/parseexcel)  
> Author: Hannes W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
> 
> Enjoy, and thanks for your feedback!  
> Hannes

---

<div class="post-metadata">

**Author:** ![spreadsheet](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5fc32e/32.png) [@spreadsheet](https://www.ruby-forum.com/u/spreadsheet)\
**Post date:** [August 4, 2009, 2:42pm UTC](https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931/4 "2009-08-04T14:42:51Z")

</div>

Hi,

Thanks for the response.  
My excel file has data in it. When i give row.inspect i get the  
following :  
#\<Spreadsheet::Excel::Row:0xffffffdbd3f67a  
@worksheet=#Spreadsheet::Excel::Worksheet:0xb70d75fc @height=  
@hidden=false @default\_format= @outline\_level=0 @formats= @idx=0 []\>

But it doesn’t print anything inside the loop  
Any idea?

Thanks,  
Anu

Norman Smith wrote:

> Anu S. wrote:
> 
> > Hi,
> > 
> > I am using ruby ruby 1.8.6 and spreadsheet (0.6.4).  
> > I am trying to oarse an excel file.  
> > My code is like :
> > 
> > ```
> > require 'rubygems'
> > require 'spreadsheet'
> > require 'parseexcel'
> > equire 'parseexcel/parseexcel'
> > require 'parseexcel/parser'
> > 
> > workbook = 
> > 
> > ```
> > 
> > Spreadsheet::ParseExcel.parse(“public/downloads/commissions/google/test.xls”)  
> > worksheet = workbook.worksheet(0)
> > 
> > ```
> > worksheet.each { |row|
> > puts row.at(0).to_s
> > 
> > }
> > 
> > ```
> 
> nil usually means empty rows. Also each row is an array of cells. You  
> could use inspect instead of to\_s to see what’s really there. This is  
> how I get data from a spreadsheet:
> 
> ws.each { |row|  
> if row != nil  
> #  
> # cycle over each cell in this row if it’s not an empty row  
> #  
> row.each { |cell|  
> if cell != nil  
> contents = cell.to\_s(‘latin1’)  
> puts(“Cell Contents: #{contents}\n”)  
> end  
> }  
> end  
> }

---

<div class="post-metadata">

**Author:** ![spreadsheet](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/5fc32e/32.png) [@spreadsheet](https://www.ruby-forum.com/u/spreadsheet)\
**Post date:** [August 4, 2009, 2:15pm UTC](https://www.ruby-forum.com/t/spreadsheet-parseexcel/101931/5 "2009-08-04T14:15:34Z")

</div>

Anu S. wrote:

> Hi,
> 
> I am using ruby ruby 1.8.6 and spreadsheet (0.6.4).  
> I am trying to oarse an excel file.  
> My code is like :
> 
> ```
> require 'rubygems'
> require 'spreadsheet'
> require 'parseexcel'
> equire 'parseexcel/parseexcel'
> require 'parseexcel/parser'
> 
> workbook = 
> 
> ```
> 
> Spreadsheet::ParseExcel.parse(“public/downloads/commissions/google/test.xls”)  
> worksheet = workbook.worksheet(0)
> 
> ```
> worksheet.each { |row|
> puts row.at(0).to_s
> 
> }
> 
> ```

nil usually means empty rows. Also each row is an array of cells. You  
could use inspect instead of to\_s to see what’s really there. This is  
how I get data from a spreadsheet:

ws.each { |row|  
if row != nil  
#  
# cycle over each cell in this row if it’s not an empty row  
#  
row.each { |cell|  
if cell != nil  
contents = cell.to\_s(‘latin1’)  
puts(“Cell Contents: #{contents}\n”)  
end  
}  
end  
}
