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

Documents Java Discussion :

[jexcel] Comment acceder à une cellule qui contient un entier avec getContents


Sujet :

Documents Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut [jexcel] Comment acceder à une cellule qui contient un entier avec getContents
    Bonjour, j'ai besoin de lire une cellule qui contient un entier.
    J'utilise la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cell a1 = sheet.getCell(0,0);
    	  String stringa1 = a1.getContents(); 
              int valeur = (Integer.parseInt(stringa1));
    mais j'obtiens un message d'erreur, de toute évidence le string contient "7.0" (par exemple) au lieu de "7", ce qui ne plait pas au parseInt.

    J'ai essayé de contourner l'obstacle avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String stringa1 = stringa2.replaceAll(".0", "");
    mais dès que le nombre contient un zéro, le code plante; par exemple avec "10". Je ne sais pas pourquoi d'ailleurs, "10" ne contient pourtant pas ".0"?

    Bref, est ce que quelqu'un possède la solution? Merci d'avance!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    Dans String.replaceAll(), le premier paramètre est une expression régulière. Et ".", dans une expression régulière signifie "n'importe quel type de caractères". Il faut donc ecrire plutot "\.0".

    PS : "ca plante", c'est trop vague, et c'est pas exploitable. Il faut donner des details (exception, stack trace, comportement attendu et observé).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    J'ai essayé le "\.0", mais java le decrete "invalid escape sequence".


    L'erreur que me renvoie Eclipse est:
    java.lang.NumberFormatException: For input string: ""

    lorsque l'entier que j'essaie de lire est "10" (ou je suppose, un nombre qui contient zéro) ce qui semble normal d'après ce que tu me dis, Sanguko.


    Bref, j'aurais besoin, soit de lire la cellule en tant qu'entier ("7" au lieu de "7.0"), soit de supprimer de facon fiable le ".0".

    Merci beaucoup!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Points : 675
    Points
    675
    Par défaut
    J'ai essayé le "\.0", mais java le decrete "invalid escape sequence".
    "\.0", c'est bien l'expression reguliere qu'il faut fournir. Mais pour la mettre dans une chaine de caractères, il faut l'ecrire comme ceci : "\\.0"
    Donc ton code devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String stringa1 = stringa2.replaceAll("\\.0", "");

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup! tout va bien maintenant

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

Discussions similaires

  1. comment faire une hashtable qui contient des tableaux
    Par leon1983 dans le forum Langage
    Réponses: 3
    Dernier message: 09/01/2014, 12h41
  2. Supprimer une cellule qui contient une information
    Par florianc31 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/02/2013, 11h26
  3. [2008R2] Comment alimenter une dimension qui contient une Foreign Key
    Par nazimb dans le forum SSIS
    Réponses: 1
    Dernier message: 27/08/2012, 10h56
  4. comment afficher une cellule qui contient une formule, dans textbox
    Par cali59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2009, 00h07
  5. Comment creer une BD qui contient d'image
    Par mamou30 dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/03/2007, 16h36

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