Problemi con un parser excel


#1

Ciao, ho scaricato ed installato, come esplicato nella procedura del
README, questa library: http://raa.ruby-lang.org/project/parseexcel/

bene… ora ho provato a runnare l’esempio di test e non me lo runna
perche’ mi dice che un metodo non e’ definito:

io faccio

workbook = Spreadsheet::ParseExcel.parse(‘Literacy.xls’)

XLSParser.rb:5: undefined method `parse’ for
Spreadsheet::ParseExcel:Module (NoMethodError)

quando invece se guardo nella libreria, trovo:

module Spreadsheet
module ParseExcel
def parse(source, params={})
Parser.new(params).parse(source)
end
module_function :parse
end
end

la libreria e’ installata, perche se faccio il require e basta, non mi
da nessun errore…

idee??


#2

— Daniela T. removed_email_address@domain.invalid ha
scritto:

Ciao, ho scaricato ed installato, come esplicato
nella procedura del
README, questa library:
http://raa.ruby-lang.org/project/parseexcel/

bene… ora ho provato a runnare l’esempio di test e
non me lo runna
perche’ mi dice che un metodo non e’ definito:

in effetti è strano, hai provato ad eseguire
direttamente il codice che c’è nel metodo? cioè
X::Y::Z::Parser.new(‘file.xsl’).parse ?

l’impressione che ho io è che ci sia un errore nel
caricamento della libreria, che viene soppresso da
qualche parte, e che quindi quella parte in cui viene
definito parse e viene richiamata module_function non
sia eseguita.


icq: #69488917
blog: http://riffraff.blogsome.com


Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB
http://mail.yahoo.it


#3

se sei su windows la win32ole è anche molto efficace e gli esempi
funzionano (li ho provati)

On 4/28/06, gabriele renzi removed_email_address@domain.invalid wrote:

non me lo runna

Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB
http://mail.yahoo.it


Ml mailing list
removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


#4

è come se module_function non andasse… boh!

prova a fare:
include Spreadsheet::ParseExcel

e poi:
workbook = parse(‘Literacy.xls’)

in questo modo chiami direttamente il metodo che ti serve come metodo
di istanza e non di classe.

On 4/28/06, Daniela T. removed_email_address@domain.invalid wrote:

removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


#5

mannaggia… facendo cosi mi dice

XLSParser.rb:9: undefined method `parse’ for main:Object (NoMethodError)

stessa roba…

e sembra che la libreria venga caricata perche se testo con IRB:

irb(main):001:0> require ‘parseexcel/parser’
=> true


#6

:frowning:

nada, sono su mac e nn funziona nemmeno chiamando il new diretto… :frowning:


#7

la libreria ha dei test o esempi da lanciare?
hai altro codice che interferisce in giro?

On 4/28/06, Daniela T. removed_email_address@domain.invalid wrote:


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


#8

i test funzionano tutti… e sto runnando l’esempio nel readme :frowning:

uffi


#9

ma allora deve essere il tuo codice che sta caricando qualche altra
libreria che crea scompiglio… se porti un esempio funzionante dentro
il tuo codice che succede?

On 4/28/06, Daniela T. removed_email_address@domain.invalid wrote:

removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


#10

un attimo che lo provo. excel lo uso molto anch’io.

On 4/28/06, Daniela T. removed_email_address@domain.invalid wrote:


Ml mailing list
removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


#11

Daniela T. wrote:

io faccio

workbook = Spreadsheet::ParseExcel.parse(‘Literacy.xls’)

prova con

parser = Spreadsheet::ParseExcel::Parser.new
workbook = parser.parse(‘Literacy.xls’)


#12

a me test_parser.rb già da errore. a te va?

On 4/28/06, chiaro scuro removed_email_address@domain.invalid wrote:


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


Chiaroscuro

Liquid Development: http://liquiddevelopment.blogspot.com/


#13

il problema e’ che l’esempiop non funziona!!

i test testano le componenti della libreria, ma non usano le funzioni
usate dalla libreria… (testano piu a basso libello)

e runnando l’esempio mi da quel problema…


#14

si, dopo aver installato la libreria, mi funzionano tutti i test

bah, ci ho rinunciato, salvo il file di excel in “comma separated” e
provo ad usare le librerie csv… che almeno con quelle riesco a printare
il contenuto del file a video!!


#15

Vuoi provare ad aggiungere una riga nella libreria
così:

module Spreadsheet
module ParseExcel
def parse(source, params={})
Parser.new(params).parse(source)
end
module_function :parse
puts “hello, world!”
end
end

E vedere se quando dai “require” il messaggio viene stampato?


blog: http://blog.hyperstruct.net
code: http://dev.hyperstruct.net, http://repo.hyperstruct.net