Comment convertir un fichier Excel en fichier csv ou txt ?

Présentation
Le code ci-dessous permet de convertir un fichier excel 2007 (ou antérieur) en fichier txt, csv ou autre fichier plat.

Le choix du séparateur est laissé à l'utilisateur.
Si l'on on précise un répertoire, le fichier convertit sera créé dans ce dernier, sinon, il sera créé dans le même répertoire que le fichier excel.
On peut choisir de convertir toutes les feuilles ou non du fichier excel en mettant -feuilles à 1 => tout sera convertit, ou à 0 et dans ce cas, à chaque feuille une confirmation sera demandée.

Attention : Nous avons utilisé ici la méthode print {$fh} $oWkC->Value, $Separateur;

Mais cette méthode peut nous générer des erreurs inattendues :
explication documentation officielle
-------------------------------------------------------
value()

The value() method returns the formatted value of the cell.

my $value = $cell->value();

Formatted in this sense refers to the numeric format of the cell value.
For example a number such as 40177 might be formatted as 40,117, 40117.000 or even as the date 2009/12/30.

If the cell doesn't contain a numeric format then the formatted and unformatted
cell values are the same, see the unformatted() method below.

For a defined $cell the value() method will always return a value.

In the case of a cell with formatting but no numeric or string contents
the method will return the empty string ''.
-------------------------------------------------------

Pour éviter tout souci, utilisez plutôt la méthode unformatted.

print {$fh} $oWkC->unformatted, $Separateur;
Détails
Catégories : Fichiers et répertoires
Avatar de djibril
Responsable Perl et Outils
Voir tous les téléchargements de l'auteur
Licence : Gratuit
Date de mise en ligne : 31 mai 2011




Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Responsable bénévole de la rubrique Perl : djibril -