Forum: Ruby Spreadsheet::ParseExcel

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Hannes W. (Guest)
on 2006-02-07 10:29
(Received via mailing list)
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
Author: Hannes W. <removed_email_address@domain.invalid>

Enjoy, and thanks for your feedback!
Hannes
James H. (Guest)
on 2006-02-07 16:09
(Received via mailing list)
Excellent!  I'll definitely be using this in the near future.
Anu S. (Guest)
on 2009-08-04 12:50
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
> Author: Hannes W. <removed_email_address@domain.invalid>
>
> Enjoy, and thanks for your feedback!
> Hannes
Norman S. (Guest)
on 2009-08-04 16:15
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
  }
Anu S. (Guest)
on 2009-08-04 16:42
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
>   }
This topic is locked and can not be replied to.