Bonjour,
je suis débutant en Perl et j'essaye de de manipuler un fichier Excel avec quelques difficultés.
Mon besoin est de rechercher dans la première colonne d'un fichier Excel un mot ou chiffre chargé au préalable dans une variable.
Si la correspondance est trouvée j'aimerais renvoyer dans une variable i ( par exemple ) le nombre d'occurence de la recherche et dans une autre variable x ( toujours par exemple ) la ligne complète du tableau Excel correspondant à la valeur recherchée.
Voici un début de code que j'ai écris :
Je suis un peu perdu pour la suite, si une âme charitable pouvait me donner un coup de pouce.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 my $essai; #classeur excel my $sheet; #feuilles excel my $Symb; #valeur dans la case du tableau exel my $col; #Colone dans le tableau excel my $row; #ligne my $FileName = 'C:\Users\essai\essai.xls'; $i=0; #Lecture my $parser = Spreadsheet::ParseExcel->new(); my $essai= $parser->parse($FileName); #ouverture et lecture du classeur essai.xls #Vérification if ( !defined $essai) { die "Parsing error: ", $parser->error(), ".\n"; } print "=========================================\n"; print "FILE :", $essai->{File} , "\n"; print "COUNT :", $essai->{SheetCount} , "\n"; print "AUTHOR:", $essai->{Author} , "\n"; print "=========================================\n"; $sheet=$essai->{Worksheet}[0]; #sélectionne la première feuille $col=$sheet->{sheet}[1]; #sélectionne la première colonne print "=========================================\n"; print "--------- SHEET:", $sheet->{Name}, "\n"; #affiche le nom des feuilles excel print "=========================================\n"; if ($aff==1){print "symbole recherche = $recherche\n";} #pour mode debug affiche la variable $recherche( symbole recherché ) foreach $row ($sheet->{MinRow}+1 .. $sheet->{MaxRow}) { #on saute la 1ere ligne $Symb = $sheet->{Cells}[$row][$col]; print "( $row ) =>", $Symb->Value, "\n" if($Symb);} foreach ($Symb eq $recherche){ #recherche du symbole dans la colonne A du fichier Excel $i++; #incrémentation de la variable lors d'une occurence } ....
Cordialement,
Partager