Hola, he encontrado unos script en perl para el parse de un excel, pero no se como usarlo con ?php?
como utilizo un script perl??
SAludos
| ||||
Ejecutar un Script Perl?? Hola, he encontrado unos script en perl para el parse de un excel, pero no se como usarlo con ?php? como utilizo un script perl?? SAludos
__________________ www.dataautos.com |
| ||||
jferrero mi problema es el siguiente, tengo que hacer un parse, claro primero leer un archivo de excel, y he encontrado estos script en perl, pero en realidad no se como usarlo, la web la estoy haciendo con php entonces como ejecuto ese script perl? Saludos
__________________ www.dataautos.com |
| ||||
mono lo que quiero es leer un archivo xls con php o con lo que sea, siempre y cuando un linux lo ejecute, el caso es que necesito presentar la data en formato html, y estoy buscando como parsearlo Nota: php no es malo, perl tampoco, asp por igual, solo es que siempre nos gusta uno mas que los demas.
__________________ www.dataautos.com |
| |||
Un ejemplo:
Código:
En poco más de 70 líneas, contando comentarios. Se podría haber hecho más corto, pero no quedaría claro salvo para los que utilizan SpreadSheet::ParseExcel con frecuencia... #!/usr/bin/perl # # Presenta la información de la tabla Excel # en forma de tabla html # # Joaquín Ferrero. 2006/07/12T00:59:00Z # ### Librerías use CGI qw':standard *table *td *th'; use Spreadsheet::ParseExcel; ### Condiciones de ejecución #use warnings; #use strict; $|++; # No output buffering ### Conexión con la hoja de cálculo my $libro; # Se podría pasar como argumento... # $libro = shift @ARGV; # Aquí lo leemos de uno determinado $libro = 'BODEGAS.xls'; # Conexión my $oExcel = Spreadsheet::ParseExcel->new; my $oBook = $oExcel->Parse( $libro ); # Creación de la página web print header, start_html("Tabla de Excel $libro"), h1("Tabla de Excel $libro"),hr, ; # Información del libro print "FICHERO :", $oBook->{File} , br, "#HOJAS :", $oBook->{SheetCount} , br, "AUTOR :", $oBook->{Author} , br, ; # Bucle por todas las hojas del libro for (my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++) { my $oWkS = $oBook->{Worksheet}[$iSheet]; print "--------- HOJA:", $oWkS->{Name}, br; print start_table({-border=>1}); # Bucle por todas las filas for( my $iR = $oWkS->{MinRow}; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow}; $iR++ ) { print start_Tr,"\n"; # Bucle por todas las columnas for( my $iC = $oWkS->{MinCol}; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol}; $iC++ ) { my $oWkC = $oWkS->{Cells}[$iR][$iC]; print start_th, $oWkC->{Val}, end_th if $iR == $oWkS->{MinRow}; print start_td, $oWkC->{Val}, end_td unless $iR == $oWkS->{MinRow}; #print "( $iR , $iC ) =>", $oWkC->Value, br if $oWkC; # Dato con formato #print "( $iR , $iC ) =>", $oWkC->{Val}, br if $oWkC; # Dato original print "\n"; # For Humans, only } print end_Tr,"\n"; } print end_table; } print end_html; Mira como queda... O de forma más bonita ![]() |
| ||||
Joaquin, que te puedo decir hombre!!, darte un millon de gracias y decirte que me toca probar perl, si señor!!!, no te imaginas la cantidad de archivos que tengo que procesar asi , en verdad mil gracias, pero mil!!!
__________________ www.dataautos.com |
| |||
A veces, buceando por CPAN, uno encuentra cosas muy raras... http://search.cpan.org/~mschwartz/OL.../tools/herbert . Y otra: de la página del módulo Spreadsheet::WriteExcel, me lleva a la herramienta xlhtml... |
| ||||
si, esos enlaces los encontre en la tarde de hoy, los tengo en favoritos, por cierto una pregunta en el script que me pasaste, el archivo xls debe estar en el mismo directorio cgi-bin o donde? Disculpa mi ignorancia relacionada con perl
__________________ www.dataautos.com |
| |||
El xls está donde tu le digas en la línea que define el valor de $libro. Por defecto buscará en el directorio actual, pero lo ideal es que le pongas todo el camino completo. |
| ||||
ok, gracias, eso me imagine, pero queria asegurarme.
__________________ www.dataautos.com |
| |||
Hecho... lo he probado... * Instalar el módulo OLE::Storage. * Al intentar ejecutar el herbert, me dice que me falta por instalar los módulos Unicode::Map y Startup. Vale, lo hago. * Copia unos cuantos xls a un directorio temporal y ejecuto allí el herbert *.xls... todos los ficheros xls pasados a html en segundos... El resultado es 'casi' bueno... algunas celdas aparecen con 'basura'. Y no he comprobado si se ha 'comido' otras. Pero al menos ahorra mucho trabajo. |