2010-01-25 17 views
6

Je cherche des exemples/conseils sur la façon d'écrire un script Perl pour lire les données d'un fichier excel puis utiliser les données lues (sous forme de chaîne) et le passer à un autre fichier Perl (en argument).Comment lire des fichiers Excel en Perl?

L'objectif est d'avoir une table dans laquelle l'utilisateur peut taper certaines données (destination ftp ou nom de fichier) dans la table. Ensuite, mon programme va saisir ces données pour faire de l'automatisation avec lui. Il ne doit pas être très élégant dans la mise en œuvre ... Il suffit de lire les lignes de données plus ou moins.

Répondre

13

Le module Spreadsheet::ParseExcel peut lire les fichiers Excel. La documentation comprend des exemples d'utilisation.

6

Découvrez le synopsis de ces modules:

+3

Ou il pourrait simplement avoir Excel Les feuilles de calcul en .csv (ou similaire) et se épargner beaucoup de problèmes: D – dangerstat

+0

C'est un point très valable, les CSV sont * beaucoup * plus faciles à créer et à manipuler, et travailler avec si vous les utilisez est autorisé, c'est certainement le chemin à parcourir. Utilisez Text :: CSV_XS, et définissez always_quote => 1, et cela fonctionnera très bien avec Excel. –

8

Vous pouvez utiliser Spreadsheet::Read qui va déléguer au module approprié pour lire des feuilles de calcul dans différents formats tels qu'Excel, OpenOffice et CSV.

D'autre part, compte tenu de la description du problème, je pense que vous seriez beaucoup mieux en utilisant un format de fichier de configuration standard:

#!/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

Il est probablement beaucoup plus facile et plus sûr de faire en sorte que Joe Random User tape quelque chose dans des cellules Excel plutôt que de l'éditer avec une structure que la plupart d'entre eux n'auront jamais vue. De plus, vous pouvez faire toutes sortes de validation et de vérification des entrées avec des macros/etc. dans le fichier Excel que vous ne pouvez pas avec les fichiers .ini. – rjp