Página 1 de 1

Leer Archivo Excel

NotaPublicado: 2012-07-24 09:01 @417
por coltx
Estimados, si bien siempre he ocupado Spreadsheet::ParseExcel::Simple para leer archivos Excel, hoy se me presenta lo siguiente:

Necesito leer desde una misma hoja ciertas celdas y luego comenzar un bucle para extraer datos desde la línea 100 en adelante.

Si bien he sacado los datos de las celdas fijas con Spreadsheet::Read, no sé cómo comenzar a sacar los datos desde la línea 100 en adelante...

Favor su ayuda, Gracias.

#!/usr/bin/perl

use Spreadsheet::Read;



open (FILE, @ARGV[0]) || die "No pude abrir el archivo @ARGV[0]\n";

my $BASE = ReadData(@ARGV[0], cells => 1, attr => 1);
my $Hoja1 = $BASE->[ $BASE->[0]->{sheet}->{'EMPLEADOS'} ];

$Nombre=$Hoja1->{cell}->[5]->[4];
$Apellido=$Hoja1->{cell}->[5]->[5];
$Cargo=$Hoja1->{cell}->[5]->[6];
$Descripcion=$Hoja1->{cell}->[5]->[7];

Re: Leer Archivo EXCEL

NotaPublicado: 2012-07-24 10:21 @473
por MARKO
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. use Spreadsheet::Read;
  4.  
  5. open (FILE, @ARGV[0]) || die "No pude abrir el archivo @ARGV[0]\n";
  6. my $BASE = ReadData(@ARGV[0], cells => 1, attr => 1);
  7. my $Hoja1 = $BASE->[ $BASE->[0]->{sheet}->{'EMPLEADOS'} ];
  8.  
  9. my $maxfila = $Hoja1->{maxrow};
  10.  
  11. for my $fila (100..$maxfila){
  12.    my $Nombre=$Hoja1->{cell}->[$fila]->[4];
  13.    my $Apellido=$Hoja1->{cell}->[$fila]->[5];
  14.    my $Cargo=$Hoja1->{cell}->[$fila]->[6];
  15.    my $Descripcion=$Hoja1->{cell}->[$fila]->[7];
  16.    .
  17.    .
  18.    .#lo que desees hacer con la fila actual
  19.    .
  20. }                                      
  21.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Si estás usando Windows debo recomendarte Win32::Ole para interactuar con Excel


Éxitos.