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 :

Probleme avec le module ParseExcel


Sujet :

Modules Perl

  1. #1
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut Probleme avec le module ParseExcel
    lors de la récuperation des données j'ai un probleme que je qualifierais de "paranormal"!

    en effet je fait un balayage des feuilles presentent sur le classeur. puis je test pour obtenir une des feuilles precisement. J'affiche a l'aide d'un print le nom de la feuille avec
    jusque la tout va bien! mais c'est apres lors de la recuperation de toutes les cellules de la feuille! en fait je 'appercoit que je recupere les données d'une autre feuille alors que le nom de la feuille est la bonne ! j'ai testé la feuille dans tout les sens! lu en profonfeur la doc cpan! mais rien y fait!
    je pense que ca vient de mon fichier excel mais c'est etrange tout de meme!

    si quelqu'un a deja eu le probleme, merci de m'aider!

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    tu peu nous montrer ton code d'affectation de ta variable oWorkSheet à la feuille ... ainsi que ton code de lecture des cellules ?

  3. #3
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    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
     
    foreach $XLS_Sheet (@{$XLS_File->{Worksheet}})
    {
    print "--------- SHEET:", $XLS_Sheet->{Name}, "\n\n";
    if ( $XLS_Sheet->{Name} eq "Anomaly Follow Up")
    {
        print "TREATING SHEET: ", $XLS_Sheet->{Name}, "\n\n";
        for( $iC = $XLS_Sheet->{MinCol} ;defined $XLS_Sheet->{MaxCol} && $iC <= $XLS_Sheet->{MaxCol} ; $iC++) 
       {
          $XLS_Cell = $XLS_Sheet->{Cells}[0][$iC];          #ligne 1
          $Title_Column[$iC] = ( $XLS_Cell->Value );
          print "Column #", $iC, " is: ", $Title_Column[$iC], "\n";
       }
     
    }
    mais ca reste tres etrange tout fonctionne correctement jusqu'au passage a la ligne 1. la feuille est la bonne lors de chaque passage a la comande print les cellules ont les bonnes valeurs , le nombre de colonne et de lignes sont correctes, seulement la valeur des cases est erronées il va chercher les valeurs 2 feuilles plus loin et une fois avoir fait le tour de la feuille x+2 il revient sur la feuille x pour arriver au nombre prevu de ligne et de colonne!!!! ! La je bloque carement 2 jours dessus et pas un poil avancé!!

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    bon je me suis trompé en partie le code affiché recupere justa la 1ere ligne dans excel(pour recuperer le titre des colonne et créer les champs)
    et ceci fonctionne correctement!

    mon code est celui ci:
    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
    20
     
    for( $iR = 1 ;defined $XLS_Sheet->{MaxRow} && $iR <= $XLS_Sheet->{MaxRow}; $iR++) 
    {
    	# initialisation of the string
    	$join_cell_string = "";
     
    	for(my $Index_Column= 0 ; $Index_Column < $iC ; $Index_Column++) 
    	{
    		print "( $iR , $Index_Column ) | ";
    		print $XLS_Sheet->{Name}," |------| ";
    		$XLS_Cell = $XLS_Sheet->{Cells}[$iR][$Index_Column];
    		if($XLS_Cell)
    		{
    		#------------------Get the value of a cell in excel -----------------------
     
    			$Cell_Value[$iR][$Index_Column] = $XLS_Cell->Value;	
    			#print "\n( $iR , $Index_Column ) =>", $Cell_Value[$iR][$Index_Column], "\n" ;	
     
     
    #suite peu importante pour ce post...

  5. #5
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    bon aparement le probleme vient de mon fichier excel, j'ai juste copier coller les feuilles une a une dans un nouveau classeur... enfin une partie des feuilles! et resultat ca passe! mais quand j'ai mes 12 feuilles excel ca passe plus

  6. #6
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    le probleme est cerné! en fait c'est une feuille de calcul qui utilise les données des autres feuilles pour créer des graphiques, il faut donc qu'elles se trouve en derniere position dans le classeur sinon le module parseexcel chope les mauvaises valeurs de cellules! un peu etrange mais bon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec le module CRUD et scala
    Par napo2A dans le forum Play!
    Réponses: 0
    Dernier message: 18/01/2011, 13h25
  2. Probleme de retour chariot avec le module WriteExcel
    Par Jim_Nastiq dans le forum Modules
    Réponses: 3
    Dernier message: 20/08/2008, 15h23
  3. [débutant]probleme avec makefile-module objet non créé
    Par Invité dans le forum Systèmes de compilation
    Réponses: 5
    Dernier message: 13/06/2007, 18h22
  4. Probleme avec un module VBA
    Par shuin dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/05/2007, 00h54
  5. Probleme avec Module Base de données (dbd32.exe)
    Par mekdar dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/10/2005, 13h45

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