sortie vers un fichier .csv - Perl - Programmation
Marsh Posté le 23-06-2005 à 10:28:25
Pas d'onglet dans un fichier CSV.
CSV (Comma-Separated Value) désigne un simple fichier texte avec des données séparées par des points-virgules.
Aucune notion de formatage.
Marsh Posté le 23-06-2005 à 10:33:18
En effet je voulais parler d'un xls desole.
Je m'y perds un peu
Marsh Posté le 23-06-2005 à 10:41:06
Ah, d'accord.
Tu utilises quel module ? Spreadsheet::WriteExcel ?
Marsh Posté le 23-06-2005 à 10:44:11
Non,
Je redirige juste les sorties vers un fichier prealablement ouvert
avec un open OUT,"sortie.xls";
select OUT;
Mais si tu connais d'autres solutions je suis preneur.
Merci
Marsh Posté le 23-06-2005 à 10:57:28
charlysk78 a écrit : Non, |
Je ne connais pas le format XLS, mais tu dois méchament t'embêter alors, non ?
Je te propose de regarder du côté des modules CPAN (le site à consulter avant de se lancer à réinventer la roue en PERL ) :
http://www.cpan.org
En fouinant tout à l'heure j'ai donc trouvé Spreadsheet::WriteExcel, qui semble faire tout ce que tu veux assez simplement. Par contre la doc' est énorme, vu que le module cherche à implémenter toutes les fonctions possibles d'Excel, il y a peut-être des implémentations simplifiées de ce module.
http://search.cpan.org/~jmcnamara/ [...] teExcel.pm
Marsh Posté le 23-06-2005 à 11:02:32
En fait ce aue je fais est assez simple vu que a part les deux lignes que j'ai ecrites dans mon message d'avant je fais comme si je voulais ecrire a l'ecran.
Mais grace au module Spreadsheet::WriteExcel je pense que je pourrai manipuler mes donnes plus facilement.
Merci beaucoup je vais essayer de faire comme ca si je n'y arrive pas je repasserai par ici
Bonne journee a+
Marsh Posté le 23-06-2005 à 11:10:16
Ce module n'est pas installe la ou je travaille, dommage car ca m'aurait vraiment bien servi...
Quelqu'un aurait-il une solution de secours?
Marsh Posté le 23-06-2005 à 11:45:50
A priori je dirai: installe-le
Je sais pas si c'est tout le temps comme ça mais l'installation de quelques modules pour ma part étaient simplement limité à une copie de fichier dans un répertoire donnée... à moins que tu ne sois pas autorisé à faire ce genre de chose !
Marsh Posté le 23-06-2005 à 12:13:27
Si c'est pour le boulot, tu peux justifier de l'installation du module. L'équipe système qui a installé PERL doit surement savoir que PERL perd énormément de sa puissance si on n'a pas accès aux modules ad hoc.
Si ce n'est vraiment pas possible, il va falloir que tu trouves une doc' sur le format XLS, mais comme il me semble que le format est propriétaire, ça risque de ne pas être facile. Et de te prendre beaucoup plus de temps que d'installer le module, au final.
Marsh Posté le 23-06-2005 à 12:24:18
Code :
|
grâce à ce module et sous Windows bien entendu, j'arrive sans soucis à créer et alimenter des fichiers Excel
consulte la doc de Perl sur ce module
Marsh Posté le 23-06-2005 à 13:36:06
Bon j'ai un peu galere mais je l'ai installe a la main
Sinon Aricoh je suis sous Linux et mon code doit etre portable sous HP-UX donc je ne penses pas pouvoir utiliser ce module...
Merci a tous
A bientot
Marsh Posté le 23-06-2005 à 14:46:28
Alors,
Le module est installe (ainsi que les 3 autres requis pour qu'il tourne), certaines fonctions marchent (new par exemple) mais impossible d'executer la fonction add_worksheet
bizarre non? Quelqu'un saurait a quoi ca peut etre du?
EDIT : Bon en fait je peut pas la declarer (use Spreadsheet::WriteExcel qw/add_worksheet/ me dit que la fonction add_worksheet ne fait pas partie de ce module) mais je peux l'utiliser
Donc je vais faire comme ca tant pis le module sera charge en entier a chaque fois...
Marsh Posté le 25-06-2005 à 19:21:51
euh un .csv c'est simplement un fichier texte dont chaque colonne est séparé par un point-virgule en passant
excel le sépare en colonne avec ce caractère, faite vous pas chier avec des modules la...
Marsh Posté le 23-06-2005 à 10:27:34
Bonjour,
Je suis en train de developper un progamme em Perl et je souhaite rediriger ses sorties vers un .csv
Mon probleme est que je souhaite creer plusieurs onglets (il y a enormement de donnees et ce sera illisible sur un seul onglet).
Je pensais utiliser le caractere \f mais ca ne marche pas...
Quelqu'un saurait-il comment faire?
Merci d'avance