IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Modules Perl Discussion :

Bug sur le Module SpreadSheet::Read


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut Bug sur le Module SpreadSheet::Read
    Bonjour tout le monde,

    Voilà, j'ai un problème que j'aimerais assez solutionné. Je vous explique :
    Je suis sous windows 8.1, j'ai installé Strawberry et la bibliothèque SpreadSheet::Read via la méthode préconisé et même manuellement, en mettant les fichiers pm dans le dossier C:\Perl64\lib\SpreadSheet.

    Mais alors que mon code est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
     
    use Spreadsheet::Read;
    use SpreadSheet::ParseExcel;
     
    my $book  = ReadData ("test.xls"); # .ods .csv .xls .xlsx
    my $cell  = $book->[1]{A3};         # content of field A3 of sheet 1
     
     
    print("cellule : " . $cell);
    ça me met l'erreur :
    Attempt to reload Spreadsheet/ParseExcel/FmtDefault.pm aborted.
    Compilation failed in require at C:/Perl64/lib/SpreadSheet/ParseExcel.pm line 8.
    BEGIN failed--compilation aborted at C:/Perl64/lib/SpreadSheet/ParseExcel.pm line 8.
    Compilation failed in require at exempleQuiFonctionne.pl line 6.
    BEGIN failed--compilation aborted at exempleQuiFonctionne.pl line 6.

    Si quelqu'un a une idée, ça serait fort aimable de sa part de me la communiquer.

    Je commence à devenir...

    Merci d'avance
    Cordialement
    Dominique

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je ne sais pas si c'est l'origine de ton problème, mais essaie de remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use SpreadSheet::ParseExcel;
    par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use Spreadsheet::ParseExcel;

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut ...
    merci, ça aurait pu ...et ça aurait été super bête de ma part.
    Bon, faut dire que je début dans perl... je suis plus familiarisé avec d'autres langages comme php...

    Mais ça ne change rien.

    Cordialement
    Dominique

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Il faut peut-être aussi corriger le nom du répertoire...

  5. #5
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 429
    Par défaut
    Bonjour,
    Par curiosité et parce que ça peut servir j'ai fait un essai, mais je ne connais pas le module.

    J'ai installé le module :
    Ça s'est bien passé.

    J'ai lancé ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
     
    use Spreadsheet::Read;
    use SpreadSheet::ParseExcel;
     
    my $book  = ReadData ("test.xls"); # .ods .csv .xls .xlsx
    my $cell  = $book->[1]{A3};         # content of field A3 of sheet 1
     
     
    print("cellule : " . $cell);
    Là j'ai obtenu la réponse mais précédée d'erreurs vois image.

    J'ai modifié le pgm comme suit (suppression de use SpreadSheet:arseExcel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
     
    use Spreadsheet::Read;
    #use SpreadSheet::ParseExcel;
     
    my $book  = ReadData ("test.xls"); # .ods .csv .xls .xlsx
    #my $cell  = $book->[1]{A4};         # content of field A3 of sheet 1
    my $cell  = $book->[1]{cell}[3][32]; # same, unformatted 
     
    print("\ncellule : " . $cell);
    Ça passe sans erreur.
    Je ne suis pas allé plus loin, voir images :

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Citation Envoyé par dmganges Voir le message
    Bonjour,
    Par curiosité et parce que ça peut servir j'ai fait un essai, mais je ne connais pas le module.

    J'ai installé le module :
    Ça s'est bien passé.

    J'ai lancé ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
     
    use Spreadsheet::Read;
    use SpreadSheet::ParseExcel;
     
    my $book  = ReadData ("test.xls"); # .ods .csv .xls .xlsx
    my $cell  = $book->[1]{A3};         # content of field A3 of sheet 1
     
     
    print("cellule : " . $cell);
    Là j'ai obtenu la réponse mais précédée d'erreurs vois image.

    J'ai modifié le pgm comme suit (suppression de use SpreadSheet:arseExcel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    use strict;
    use warnings;
     
    use Spreadsheet::Read;
    #use SpreadSheet::ParseExcel;
     
    my $book  = ReadData ("test.xls"); # .ods .csv .xls .xlsx
    #my $cell  = $book->[1]{A4};         # content of field A3 of sheet 1
    my $cell  = $book->[1]{cell}[3][32]; # same, unformatted 
     
    print("\ncellule : " . $cell);
    Ça passe sans erreur.
    Je ne suis pas allé plus loin, voir images :
    Les installations de module se passent bien.

    Mais sans le ParseExcel, j'ai le message :
    Parser for XLS is not installed at exempleQuiFonctionne.pl line 11.

    et avec, j'ai le message d'erreur suivant :
    Attempt to reload Spreadsheet/ParseExcel.pm aborted.
    Compilation failed in require at exempleQuiFonctionne.pl line 6.
    BEGIN failed--compilation aborted at exempleQuiFonctionne.pl line 6.

    Merci pour vos aide en tout cas.
    Cordialement
    Dominique

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par dominique21000 Voir le message
    j'ai installé Strawberry et la bibliothèque SpreadSheet::Read via la méthode préconisé et même manuellement, en mettant les fichiers pm dans le dossier C:\Perl64\lib\SpreadSheet.
    Ta méthode d'installation me chagrine un peu. Néanmoins, je te recommande d'utiliser les modules suivants :
    SpreadSheet::ParseExcel
    Spreadsheet::XLSX (si ce sont des fichiers xlsx).

    Et pour les installer, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cpan -i SpreadSheet::ParseExcel Spreadsheet::XLSX
    Ne va pas trifouiller les répertoires d'installation.

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 40
    Par défaut
    Citation Envoyé par djibril Voir le message
    Ta méthode d'installation me chagrine un peu. Néanmoins, je te recommande d'utiliser les modules suivants :
    SpreadSheet:arseExcel
    Spreadsheet::XLSX (si ce sont des fichiers xlsx).

    Et pour les installer, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cpan -i SpreadSheet::ParseExcel Spreadsheet::XLSX
    Ne va pas trifouiller les répertoires d'installation.
    J'essaie de ne pas trifouiller...parce que je sais que ça fait pas propre, mais j'essaye aussi de comprendre.
    Les paquets semblent bien s'installer, mais ensuite, il ne semble pas les trouver...donc
    - soit il les cherche au(x) mauvais endroit(s)s
    - soit...autres choses

  9. #9
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 780
    Par défaut
    Salut à tous.

    Pour ce faire, j'ai réinstallé la dernière version de ActiveState Perl, soit la 5.26.1.

    Et pour installer les packets , j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ppm install Spreadsheet::Read
    ppm install Spreadsheet::ParseExcel
    J'ai vérifié dans le répertoire "C:\Perl64\site\lib\Spreadsheet", et je trouve bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ParseExcel.pm
    Read.pm
    Il y a aussi un autre répertoire qui se nomme "ParseExcel".

    J'ai fait un test basique :
    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
    #!C:\perl64\bin\perl.exe -w
     
    use strict;
    use warnings;
     
    use Spreadsheet::WriteExcel;
     
    my $book  = Spreadsheet::WriteExcel->new("foo.xls");
    my $sheet = $book->add_worksheet('Ma feuille');
     
    $sheet->write(1,1, "ca fonctionne très bien");
     
    $book->close();
     
    exit;
    Et j'ai vérifié dans le fichier Excel dans la case B2. Je retrouve bien mon message.

    @+

Discussions similaires

  1. Bug ou pas bug sur module PEAR : Console_Getopt
    Par boutmos dans le forum Langage
    Réponses: 3
    Dernier message: 10/10/2014, 17h13
  2. Bug sur la gabarisation des modules de cours
    Par zoom61 dans le forum Evolutions du club
    Réponses: 8
    Dernier message: 17/01/2013, 15h58
  3. Bug sur le read
    Par cquilgars dans le forum Linux
    Réponses: 1
    Dernier message: 15/05/2006, 15h45
  4. Bug sur la prorpiété required d'un TField avec ADO ???
    Par denrette dans le forum Bases de données
    Réponses: 6
    Dernier message: 04/11/2003, 11h04
  5. Page de rapport de bug sur le site de Sun
    Par piff dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2003, 18h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo