Bonjour,

Je travaille sur un script perl qui me permettra de parser des classeur xls. Pour cela, j'utilise le module Spreadsheet:arseExcel.

Problème: mon script ne fonctionne pour une minorité de mes fichiers...alors qu'il faudrait que ça fonctionne pour tous. (Tous mes fichiers sont en excel 2003).

Pour trouver d'où vient le problème, j'ai fait un petit script servant uniquement a retourner la liste des noms de feuilles présentes dans mon classeur. Et là, je constate que la liste retourner par le script ne correspond pas...

Ce dernier script:
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
 
use Spreadsheet::ParseExcel;
use strict;
 
my $out_cdc_path = "Book1.xls";
 
my $parserXls = Spreadsheet::ParseExcel->new();
my $workbookXls = $parserXls->Parse($out_cdc_path);
if (!defined $workbookXls) 
{
	print "\n\t\t[ERROR] Failed to parse <$out_cdc_path>";
}
 
print "\nListe des feuilles présentes dans le classeur:";
for my $worksheetpful ( $workbookXls->worksheets() )
{
	my $sheetnamepful = $worksheetpful->get_name();
	print "\n\t$sheetnamepful";
}
Par la suite, je me suis rendu compte, que mes fichier xls posant problèmes, contiennent tous des fichiers joints à l'intérieur (de type pdf ou doc ou xls),
et qu'en supprimant ces fichiers joints dans mon classeur, mon script fonctionne...

Savez-vous s'il existe une solution pour palier à ce problème (tout en continuant à utiliser le module Spreadsheet:arseExcel) ?