Tengo una hoja de Excel con 5 columnas y más de 2000 renglones y lo que quiero es leer la información de Excel e insertarla en una tabla de PostgreSQL. Al ejecutar el programa me señala que Can´t locate SpreadSheet::Read.pm in @INC [@INC contains c:/Perl/site/lib C:/Perl/lib.] at line 3, que tiene use Spreadsheet::Read;
El programa completo es (estoy trabajando en Windows Vista):
#!/usr/bin/perl
use Spreadsheet::Read;
use strict;
use ConectarDBs;
my ($dbhs,$sths);
my ($index,$llave,$fecha,$nombre,$paterno,$materno);
#-------------- Conexion a las base de datos
$dbhs = ConectarDB->connects();
#------------- Preparacion del INSERT de datos a la nueva tabla
my $prepara_insert = 'insert into tbdatos(llave,fechanac,alumnonombre,alumnopaterno,alumnomaterno) values (?,?,?,?,?);';
$sths = $dbhs->prepare($prepara_insert);
my $sector = 'DePaso 02052011';
my $ref = ReadData("DePaso 02052011.xls"); # Leer fichero <span class="posthilit">Excel</span>
my $maximo_filas = $ref->[ $HOJAS{$sector} ]->{maxrow};
for ($index=2;$index<=$maximo_filas ;$index++) {
$llave = $ref->[1]cell[$index][1];
$fecha = $ref->[1]cell[$index][2];
$nombre = $ref->[1]cell[$index][3];
$paterno = $ref->[1]cell[$index][4];
$materno = $ref->[1]cell[$index][5];
print "$llave $fecha $nombre $paterno $matereno\n";
$sths->execute("$llave","$fecha","$nombre","$paterno","$materno");
}
print $ref->[1]{label}, "\n"; # Imprime el nombre de la primera hoja
#------------ Leemos Excel y generamos el Insert
$sths->finish;
$dbhs->disconnect;