2010-01-25 23 views
6

Estoy buscando algunos ejemplos/consejos sobre cómo escribir una secuencia de comandos Perl para leer datos de un archivo de Excel y luego utilizar la información leída (como una cadena con suerte) y pasarla a otro archivo Perl (como argumento).¿Cómo puedo leer archivos de Excel en Perl?

El objetivo es tener una tabla en la que el usuario pueda escribir algunos datos (ftp de destino o nombre de archivo) en la tabla. Entonces mi programa tomará esos datos en hacer algo de automatización con él. No tiene que ser muy elegante en la implementación ... Solo necesito leer filas de datos más o menos.

Respuesta

13

El módulo Spreadsheet::ParseExcel puede leer archivos de Excel. La documentación incluye ejemplos de cómo usarlo.

6

Mira la sinopsis de estos módulos:

+3

O él sólo podría tener Excel hojas de cálculo como .csv (o similar) y ahorrarse muchos problemas: D – dangerstat

+0

Ese es un punto muy válido, los CSV son * mucho * más fáciles de crear y manipular, y trabajar con ellos si está permitido, es seguro el camino a seguir. Use Text :: CSV_XS, y configure always_quote => 1, y funcionará muy bien con excel. –

8

Puede usar Spreadsheet::Read que se delegará en el módulo apropiado para leer hojas de cálculo en una variedad de formatos como Excel, OpenOffice y CSV.

Por otro lado, dada la descripción del problema, creo que sería mucho mejor usar un formato estándar fichero de configuración:

#!/usr/bin/perl 

use Config::Std; 

read_config 'ftp.ini' => my %config; 

for my $file (keys %config) { 
    print "File: '$file'\n"; 
    print "$_: ", $config{$file}->{$_}, "\n" 
     for qw(site protocol remote_name); 
} 

ftp.ini:

 
[c:\Documents and Settings\user\My Documents\this.txt] 
site = ftp.example.com 
protocol = ftp 
remote_name = that.txt 
+1

Probablemente sea mucho más fácil y más seguro hacer que Joe Random User escriba algo en las celdas de Excel que hacer que edite un archivo de texto con una estructura que la mayoría de ellos nunca habrá visto. Además, podría hacer todo tipo de validación y verificación de entrada con macros/etc. en el archivo de Excel que no se puede con archivos .ini. – rjp

Cuestiones relacionadas