Página 1 de 1

Error con SpreadSheet::SimpleExcel

NotaPublicado: 2006-11-03 08:47 @407
por manuel
estoy aprendiendo todo esto d eperl y me puse a crear el archivo excel con SpreaDsheet:simple Excel ya q en una parte del foro vi q decian q se podia hacer pero me da el siguiente error panas:

CAn't locale object method "new" via package "Spreadsheet::SimpleExcel" at sobre la linea 11 la cual es esta:

my $excel = Spreadsheet::SimpleExcel->new();

el codigo completo es este:


#use Spreadsheet::SimpleExcel;

binmode(\*STDOUT);
# data for spreadsheet
my @header = qw(Header1 Header2);
my @data = (['Row1Col1', 'Row1Col2'],
['Row2Col1', 'Row2Col2']);

# create a new instance
my $excel = Spreadsheet::SimpleExcel->new();

# add worksheets
$excel->add_worksheet('Name of Worksheet',{-headers => \@header, -data => \@data});
$excel->add_worksheet('Second Worksheet',{-data => \@data});
$excel->add_worksheet('Test');

# add a row into the middle
$excel->add_row_at('Name of Worksheet',1,[qw/new row/]);

# sort data of worksheet - ASC or DESC
$excel->sort_data('Name of Worksheet',0,'DESC');

# remove a worksheet
$excel->del_worksheet('Test');

# sort worksheets
$excel->sort_worksheets('DESC');

# create the spreadsheet
$excel->output();

# print sheet-names
print join(", ",$excel->sheets()),"\n";

# get the result as a string
my $spreadsheet = $excel->output_as_string();

# print result into a file and handle error
$excel->output_to_file("my_excel.xls") or die $excel->errstr();
$excel->output_to_file("my_excel2.xls",45000) or die $excel->errstr();



:twisted: Manuel!! :?: :?: :?:

NotaPublicado: 2006-11-03 08:54 @412
por explorer
El error indica que el módulo no ha sido instalado en el sistema.

Si estás en Windows, con ActiveState, usa el programa PPM. Aquí hay un ejemplo:
viewtopic.php?t=1012&start=15
y un tutorial:
http://perlenespanol.com/tutoriales/mod ... pmexe.html

Si estás en Linux, simplemente prueba a escribir: cpan Spreadsheet::SimpleExcel.

Si no funciona nada de esto, tendrás que bajar el módulo desde CPAN:
http://search.cpan.org/~reneeb/Spreadsh ... Excel-1.3/

NotaPublicado: 2006-11-03 09:04 @419
por manuel
ok, estoy en Windows pero además estoy probando en el trabajo y aquí esta instalado el Perl pero no con ese que dice ActiveState por lo que no creo me pueda meter en el ppm.exe. Me voy por la opción de bajarlo de CPAN pero mi duda está en cómo se lo instalo...
Gracias pana.

NotaPublicado: 2006-11-03 09:16 @427
por explorer
La forma de instalarlo está descrita en el propio paquete del módulo:
http://search.cpan.org/src/RENEEB/Sprea ... 1.3/README

Veo, además, en la parte de dependencias, que este módulo depende de otros dos módulos: Spreadsheet::WriteExcel y IO::Scalar.

Por eso te decía que usaras un sistema de gestión de descargas e instalación de módulos, porque se encargan de bajarse los módulos de los que depende el que quieres instalar.

¿Qué Perl tienes instalado en tu Windows?

NotaPublicado: 2006-11-03 09:16 @428
por manuel
pana acabo de ver q si puedo utilizar el ppm.exe estoy viendo el tutorial q me dijiste, de hecho ya entre pero dice q para instalar un modulo solo debo escribir install nombredelmodulo y lo coloque asi install Spreadsheet::SimpleExcel pero me salio este error:
Error installing package 'Spreadsheet::SImpleExcel': Could not locale a PPD file for package Spreadsheet::SimpleExcel ya descargue el archivo de cpan pero donde debo colocarlo para q me instale el modulo es mi pregunta.

Gracias y disculpa la molestia por mi novatada

NotaPublicado: 2006-11-03 11:01 @501
por explorer
Por lo que veo, Spreadsheet::SimpleExcel no forma parte de la colección de módulos PPM:
http://activeperl.com/ASPN/Modules?modu ... _start=141

Deberás usar otro módulo, como Spreadsheet::WriteExcel::Simple o Spreadsheet::WriteExcel.