[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

undefined method `at' for nil:NilClass in parseexcel.help pl

Ruhul Amin

2/23/2007 8:42:00 AM

use this code to open my '2007-02-231028.xls' file. the file is in the
same directory of the program.
my code:

require 'parseexcel'

workbook = Spreadsheet::ParseExcel.parse('2007-02-231028.xls')

worksheet = workbook.worksheet(0)

skip = 2
worksheet.each(skip) { |row|
# a row is actually just an Array of Cells..
first_cell = row.at(0)

}

Error is:
undefined method `at' for nil:NilClass

I can not understand the error. please help me as i am a niwbie in ruby

--
Posted via http://www.ruby-....

6 Answers

Ruhul Amin

2/23/2007 9:45:00 AM

0

Ruhul Amin wrote:
> use this code to open my '2007-02-231028.xls' file. the file is in the
> same directory of the program.
> my code:
> require 'parseexcel'
> workbook = Spreadsheet::ParseExcel.parse('2007-02-231028.xls')
> worksheet = workbook.worksheet(0)
> skip = 2
> worksheet.each(skip) { |row|
> # a row is actually just an Array of Cells..
> first_cell = row.at(0)
> > }
> Error is:undefined method `at' for nil:NilClass
> I can not understand the error. please help me as i am a niwbie in ruby

please help me.

--
Posted via http://www.ruby-....

Raj Sahae

2/23/2007 11:21:00 AM

0

I don't know anything about the parseexcel library, but I can at least
explain the error.
The error you are getting simply says that the object"row", which is the
parameter you pass into your block from worksheet.each, is an instance
of Nil, and not an Array. So either the parse, workbook, or worksheet
is returning Nil somewhere.
>> require 'parseexcel'
>> workbook = Spreadsheet::ParseExcel.parse('2007-02-231028.xls')
>> worksheet = workbook.worksheet(0)
>> skip = 2
>> worksheet.each(skip) { |row|
>> # a row is actually just an Array of Cells..
>> first_cell = row.at(0)}
>>
>> Error is:undefined method `at' for nil:NilClass
>> I can not understand the error. please help me as i am a niwbie in ruby
>>

Ruhul Amin

2/23/2007 11:57:00 AM

0

Raj Sahae wrote:
> I don't know anything about the parseexcel library, but I can at least
> explain the error.
> The error you are getting simply says that the object"row", which is the
> parameter you pass into your block from worksheet.each, is an instance
> of Nil, and not an Array. So either the parse, workbook, or worksheet
> is returning Nil somewhere.

thx for ur response. I also guessed so. but why? The problem comes
when i try to read japanese text. Any other way by which i can read
japanese
text to in my mysql database.

problems are:
1. japanese text
2. read data from the particular cell

plz help me with some sample code.

waiting for ur response

Amin

--
Posted via http://www.ruby-....

Chris Hulan

2/23/2007 4:57:00 PM

0

On Feb 23, 6:57 am, Ruhul Amin <tuhin_cs...@yahoo.com> wrote:
> Raj Sahae wrote:
> > I don't know anything about the parseexcel library, but I can at least
> > explain the error.
> > The error you are getting simply says that the object"row", which is the
> > parameter you pass into your block from worksheet.each, is an instance
> > of Nil, and not an Array. So either the parse, workbook, or worksheet
> > is returning Nil somewhere.
>
> thx for ur response. I also guessed so. but why? The problem comes
> when i try to read japanese text. Any other way by which i can read
> japanese
> text to in my mysql database.
>
> problems are:
> 1. japanese text
> 2. read data from the particular cell
>
> plz help me with some sample code.
>
> waiting for ur response
>
> Amin
>
> --
> Posted viahttp://www.ruby-....

It looks like when a row contains no data it is set to nil.
Are certain the row you are reading has data?

Cheers
Chris

Bernard Kenik

2/23/2007 9:41:00 PM

0

On Feb 23, 3:41 am, Ruhul Amin <tuhin_cs...@yahoo.com> wrote:
> use this code to open my '2007-02-231028.xls' file. the file is in the
> same directory of the program.
> my code:
>
> require 'parseexcel'
>
> workbook = Spreadsheet::ParseExcel.parse('2007-02-231028.xls')
>
> worksheet = workbook.worksheet(0)
>
> skip = 2
> worksheet.each(skip) { |row|
> # a row is actually just an Array of Cells..
> first_cell = row.at(0)
>
> }
>
> Error is:
> undefined method `at' for nil:NilClass
>
> I can not understand the error. please help me as i am a niwbie in ruby
>
> --
> Posted viahttp://www.ruby-....

Are you sure the syntax is correct ...
1. never seen code where each takes parameter
2. worksheet is a single object .. not an array of worksheets
3. Perhaps it should be worksheet.Rows.each { |row| do whatever
including skipping }

Brian Candler

2/25/2007 7:44:00 PM

0

On Sat, Feb 24, 2007 at 06:45:08AM +0900, bbiker wrote:
> Are you sure the syntax is correct ...
> 1. never seen code where each takes parameter

I have. There was an hour-long video presentation about TextMate posted here
a week or two ago. In it, the presenter wrote a program to solve the
Pascal's Triangle Ruby Quiz. His #each method took a parameter which let you
specify the the number of rows you wanted to generate - otherwise, it would
iterate infinitely.

Regards,

Brian.