Bonjour à tous,

Je suis un débutant en Perl et je souhaite lire un fichier excel par ligne et par colonne pour retrouver une valeur.

J'ai écrit le code suivant:

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
sub lireTableauExel{
# ------------------------Declaration des variables locales---------------
	my $valeur;			# valeur dans la case du tableau exel
	my $col;			# Colone dans le tableau excel
	my $entete;		# entete du fichier excel
	my $row;			# ligne
	my $excel;			# Objet permettant de traiter des fichier excel
	my $sheet; 		# feuille exel
	my $message;
		#------------------------------------------------------------------
 
	#ouvre le fichier excel du serveur et parcourt la liste des packages
 
$recensementAppareil = "$repertoire\\recensementAppareil.xls";
$sheet=$excel->{Worksheet}[0]; #selection la 1ere feuille 			
	if(!$sheet){
		ecritLog("impossible de lire le fichier $recensementAppareil.xls");
	}else{	
		foreach $row ($sheet->{MinRow}+1 .. $sheet->{MaxRow}) { #on saute la 1ere ligne
			foreach $col ($sheet->{MinCol} ..  $sheet->{MaxCol}){
				$entete=$sheet->{Cells}[0][$col]->{Val};  
					$valeur=$sheet->{Cells}[$row][$col]->{Val};
					$message=$message." $entete:  $valeur,     "	
			}#foreach
				ecritLog("$message"); 
		}#foreach
	}
}

Je vérifie la syntaxe de mon script avec MS DOS, celle ci est ok. Mais quand je la lance j'ai un problème au niveau de la fonction if(!$sheet), à chaque fois il m'affiche le message "Impossible de lire le fichier... " Je n'arrive pas à rentrer dans la fonction else, et je ne sais pas pourquoi..

Je vous serai très reconnaissant si vous pouviez m'aider
en vous remerciant