Rechercher : dans
Par :

[PERL] lire contenu fichier .xls

Dernière réponse le 16 jun 2008 à 11:51:26 ushiwa.sasuke, le 6 mai 2005 à 14:45:14 
 Signaler ce message aux modérateurs

Bonjour,

voila je commence a apprendre le language PERL et j'aimerais savoir si il existe une commande ou un moyen de pourvoir lire le contenu d un fichier .xls et de le stocker dans une base de données ORACLE ???

Si oui quelles seraient les commandes...?

Merci d avance

Meilleures réponses pour « [PERL] lire contenu fichier .xls » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Transformer un fichier Microsoft Excel (.xls) en PDF VoirTransformer en fichier PDF un fichier Microsoft Excel (.xls) Rien de plus simple ! Ouvrez votre fichier *.xls avec OpenOffice.org Réglez éventuellement la mise en page par le menu Format / Page... Dès lors, 2 solutions pour transformer en...
Lire un fichier en .rbs VoirOn peut rencontrer parfois des fichiers en .rbs, issus d'un enregistrement ou un autre. La solution la plus simple pour lire ces fichiers est tout bêtement de remplacer l'extension .rbs par .mp3 Si vous ne voyez pas l'extension du fichier, faites...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Fichier CSV VoirFormat CSV Un fichier CSV est un fichier tableur, contenant des données sur chaque ligne séparés par un caractère de séparation (généralement une virgule ou un point-virgule). Comment lire un fichier CSV ? Il peut être lu avec un tableur tel que...

1

kij_82, le 9 mai 2005 à 22:43:03

Alors sasuke on ne sais pas ? Fais moi le malin hein quand ta pas ton chacras...

bon, plus sérieusement essaye un truc dans le style (moi aussi je débute en Perl alors c'est possible que ce soit pas tout à fait ca !) :

sub lecture {
    open IN, $_[0] or die "Impossible d'ouvrir le fichier $_[0] pour la cause suivante : $!\n";
    my $infos_fichier = "";
    while( $infos_fichier .= <IN> ) {
        ;
    }
    close IN;
    return $infos_fichier;
} 

Cette fonction s'appelle de la sorte : calcule("nomdufichier_avec_chemin");

Et puis apres tu fais une méthode qui ouvre une connexion à une base de donnée, tu crée ta requete et l'éxécute sur cette connexion, puis tu ferme la connexion.

Si tu ne sais pas faire les connexion, dit le et je pourrais t'aiguiller.

++ ~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

2

ushiwa.sasuke, le 11 mai 2005 à 08:39:19

Merci bcp kij_82 je vais tester et je te tiens au courant

sinon oui sans chacra je sais pas faire grand chose mdr mais mon sharingan n a rien pu faire...snif

Répondre à ushiwa.sasuke

3

ushiwa.sasuke, le 13 mai 2005 à 14:23:09

Bon j ai tester plus ou moin le truc mais pour commencer avant de deja y sauver dans une base de données j ai essayé d y enregistrer dans un fichier .txt le truc c que il fait la les procedure mais il crée pas le fichier .txt donc je suis tjs dessus pour savoir pkoi...

Répondre à ushiwa.sasuke

5

kij_82, le 17 mai 2005 à 11:59:36
  • +1

Oui en effet, j'ai tester ce que j'ai mis et il ne s'arrete pas
Faut juste mettre une condition d'arret. ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

6

kij_82, le 17 mai 2005 à 12:09:10

Essaie ce script et utilise le à tes fin :

#!C:\Perl\lib\perl.exe

lecture("fich.txt");

sub lecture {
    open IN, $_[0] or die "Impossible d'ouvrir le fichier $_[0] pour la cause suivante : $!\n";
    my @infos_fichier;
    @infos_fichier = <IN>;
    my $i = 0;
    my $long = @infos_fichier;
    printf $long."\n";
    while( $i < $long ){
        print $infos_fichier[$i++]."\n";
    }
    
    close IN;
    return $infos_fichier;
} 



++ ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

4

sam3000, le 13 mai 2005 à 14:28:34

Slt KIJ_82,
tu es sur que ton truc fonctionne (ça ne m'en a pas l'air) L'erreur est humaine mais un véritable désastre
ne peut être qu'informatique.

Répondre à sam3000

7

philtrain, le 17 mai 2005 à 12:41:08
  • +1

Bonjour,

Remarque:
#!C:\Perl\lib\perl.exe
Inutile sous MS-WINDOWS

Pour charger un fichier:

#!/usr/bin/perl -w
use strict;
# --- Retourne le contenu du fichier dont le chemin est passé en paramètre
sub lecture {
    my @contenu = ();
    open(FILE, "$_[0]") || die "Erreur E/S: $!\n";
    @contenu = <FILE>;
    close(FILE);
    return @contenu;
}


Pour utiliser les formats d'excel:
http://search.cpan.org/~kwitknr/DBD-Excel-0.06/Excel.pm

@+ -- O espirito da liberdade --

Répondre à philtrain

8

kij_82, le 17 mai 2005 à 13:50:55

Je sus pas sur que sous windows,
#C:\Perl\bin\perl.exe
soit inutile, sans cela je ne peux pas le faire chez moi. ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

9

philtrain, le 17 mai 2005 à 17:06:10

Il faut lier les fichiers d'extension .pl et .pm avec l'exécutable perl

@+ -- O espirito da liberdade --

Répondre à philtrain

10

kij_82, le 17 mai 2005 à 17:23:13

Ah.. ok

~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

11

ushiwa.sasuke, le 18 mai 2005 à 08:23:52

Merci bcp pour vos reponse cela dis j ai encore un petit truc preciser c est que je suis en linux et non en windows...

Répondre à ushiwa.sasuke

12

philtrain, le 18 mai 2005 à 08:53:33

Bonjour,

je suis en linux et non en windows...

C'est mieux pour le perl.

-> la première ligne du script:

#!/usr/bin/perl -w


Ensuite pour rendre le script exécutable:
chmod +x mon_script.pl

Pour exécuter le script:
./mon_script.pl

Bon amusement avec perl et linux.
Cordialement,

@+ -- O espirito da liberdade --

Répondre à philtrain

13

ushiwa.sasuke, le 20 mai 2005 à 09:42:54

Dites moi, un de vous arriverai a me corriger car je vois vraiment pas l erreur que j ai faite...

#!/usr/bin/perl

sub lecture {
open (IN, "essai.xls") or die "Impossible d'ouvrir le fichier /home/hassler/Desktop/essai.xls pour la cause suivante : $!\n";
my $infos_fichier = "";
while( $infos_fichier .= <IN> ) {
;
}
close IN;
return $infos_fichier;
}
sub ecriture {
my $infos_fichier = $_[0];
open (OUT,">ecriturexls.txt");
print OUT $infos_fichier;
close(OUT);
}
$infos_fichier = &lecture;

&ecriture($infos_fichier);

Répondre à ushiwa.sasuke

14

philtrain, le 20 mai 2005 à 10:11:52

Bonjour,

#!/usr/bin/perl -w
use strict;

sub lecture {
	my $fichier_in = "./essai.xls";
	open (IN, "$fichier_in") || die "Impossible d'ouvrir le fichier essai.xls pour la cause suivante : $!\n";
	my @infos_fichier = <IN>;
	close IN;
	return @infos_fichier;
}

sub ecriture {
	my $fichier_out = "./ecriturexls.txt";
	open (OUT,">$fichier_out");
	foreach my $valeur (@_) {
		print OUT $valeur;
	}
	close(OUT);
}

my @infos_fichier = &lecture;
&ecriture(@infos_fichier);


C'est ok commec ça?

@+ -- O espirito da liberdade --

Répondre à philtrain

15

ushiwa.sasuke, le 23 mai 2005 à 09:05:04

Merci bcp philtrain, cela fonctionne !

cela dit encore une petite question...dans je lance le script et qu il ecrit dans le fichier : ecriturexls.txt, il se trouve qu il y a ca "ÐÏࡱ" a la place des valeur de mes cellules...pkoi ? est ce le contenu de mon fichier essaixls.pl qui est cripter ou pas ?

Répondre à ushiwa.sasuke

16

philtrain, le 23 mai 2005 à 09:38:52

C'est du au format .xls.

Pour le travailler, il faut utiliser le bon module --> voir sur cpan
@+ -- O espirito da liberdade --

Répondre à philtrain

17

u, le 25 mai 2005 à 08:51:49

Alors je me suis renseigné et j ai un peu chercher dans le cpan et mais trouvé à aucun endroit ou il parlait du fichier xls....

Répondre à u

18

kij_82, le 25 mai 2005 à 09:01:44

Une bonne adresse pour toi :
http://ldp.ludost.net/linuxfocus/Francais/July2000/article15­6.meta.shtml

++ ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

20

philtrain, le 25 mai 2005 à 09:30:59

Hello kij_82,

Attention, ushiwa a besoin de traiter des fichiers au format excel (xls) et non xsl

cordialement,

@+
-- O espirito da liberdade --

Répondre à philtrain

21

kij_82, le 25 mai 2005 à 10:23:59

Oups.. autant pour moi :)
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

19

philtrain, le 25 mai 2005 à 09:08:18

Bonjour,

C'est ici:

http://search.cpan.org/dist/Spreadsheet-WriteExcel/

@+
-- O espirito da liberdade --

Répondre à philtrain

22

BAUDIN ALAIN, le 21 mar 2007 à 21:02:36

Je ne peux pas ouvrir 2 fichiers indiqués XLS je n'ai pas excel .
est-ce que ça a un rapport ? MERCI

Répondre à BAUDIN ALAIN

23

lami20j, le 21 mar 2007 à 21:10:12

Salut,

pour lire c'est le module Spreadsheet::ParseExcel qu'il faut utiliser
lami20j

Répondre à lami20j

24

nacer, le 17 déc 2007 à 14:20:15

Comment lire le fichier xls?
et merci bcp

Répondre à nacer

25

 orpheopolis, le 16 jun 2008 à 11:51:26

Bonjour, je travaille avec vista et office 2007, problème: j'ouvre un fichier excel, l'enregistre, il apparait dans document,
si je veux l'ouvrir, windows me répond qu'il ne trouve pas le document xlsx, que faire??
merci d'avance

Répondre à orpheopolis
Collection CommentÇaMarche.net