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 :

Excel lire une cellule


Sujet :

Documents Java

  1. #1
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut Excel lire une cellule
    Bonjour

    voila je veux lire une cellule
    alors je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    FileInputStream fileIn = new FileInputStream("Donnees.xls");
    HSSFWorkbook wbDonnee = new HSSFWorkbook(fileIn);
    HSSFSheet th = wbDonnee.getSheetAt(1);
    HSSFRow ro = th.getRow(1);
    HSSFCell ce = ro.getCell((short)1);
    if (ce != null){
    System.out.println("Ya kelkechose");
    }else{
        System.out.println("Ya rien");
    }

    MOn erreur
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    at java.util.ArrayList.RangeCheck(ArrayList.java:546)
    at java.util.ArrayList.get(ArrayList.java:321)
    at org.apache.poi.hssf.usermodel.HSSFWorkbook.getSheetAt(HSSFWorkbook.java:559)
    at fusionneur.traitement.Traiter.<init>(Traiter.java:42)
    alors comme il me faisait une erreur sur le getSheetAt
    j'ai changé pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HSSFSheet th = wbDonnee.getSheet("Rejet");
    HSSFRow ro = th.getRow(2);
    HSSFCell ce = ro.getCell((short) 1);
    et la j'ai un NullPointerException

    Pouvez vous m'aider ??

    d'avance merci
    Plzzz pas de questions par MP.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    NPE à quel niveau ? De la feuille, de la row ou de la cellule ?
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  3. #3
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    sur mon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    HSSFCell ce = ro.getCell((short) 1);
    
    if (ce.toString() != ""){
    //    System.out.println(ce.getNumericCellValue());
    System.out.println("Ya kelkechose");
    }else{
        System.out.println("Ya rien");
    }
    sur mon toString

    je vois pas comment vérifier et lire une cellule

    Plzzz pas de questions par MP.

  4. #4
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Si c'est une string alors tu dois appliquer la méthode equals pour comparer deux chaînes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (! ce.toString().equals(""))
    "Le calendrier, c'est la bureaucratie du temps." Quino

  5. #5
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    ah oui je suis bete pour ce equals

    mais j'ai toujours ce NullPointerException
    Plzzz pas de questions par MP.

  6. #6
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Ce n'est pas un problème d'indice ? ie il commence à 0 et non pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HSSFSheet th = wbDonnee.getSheetAt(1);
    HSSFRow ro = th.getRow(1);
    J'y connais rien mais bon pourquoi pas malgré que j'y crois pas du tout

    Sinon je suis ton cheminement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    FileInputStream fileIn = new FileInputStream("Donnees.xls");
    HSSFWorkbook wbDonnee = new HSSFWorkbook(fileIn);
    HSSFSheet th = wbDonnee.getSheetAt(1);
    HSSFRow ro = th.getRow(1);
    HSSFCell ce = ro.getCell((short)1);
    if (! ce.toString().equals(""))
    //    System.out.println(ce.getNumericCellValue());
    System.out.println("Ya kelkechose");
    }else{
        System.out.println("Ya rien");
    }
    Apparemment ça ne vient pas de l'objet "ce" donc il faut remonter et voir lequel des objets provoque un IndexOutOfBounds
    "Le calendrier, c'est la bureaucratie du temps." Quino

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Citation Envoyé par sironimo
    Si c'est une string alors tu dois appliquer la méthode equals pour comparer deux chaînes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (! ce.toString().equals(""))
    Pour ne pas avoir de pb de nullPointer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (! "".equals(ce.toString()))
    Christophe

    Pensez à mettre quand c'est le cas.

Discussions similaires

  1. [WD17] lire une cellule de Excel a partir de windev
    Par koraichi dans le forum WinDev
    Réponses: 2
    Dernier message: 11/06/2014, 11h18
  2. [Débutant] Lire une cellule dans un fichier excel
    Par Annihil dans le forum C#
    Réponses: 1
    Dernier message: 15/11/2011, 07h32
  3. lire une cellule excel dans un pgm c/cpp
    Par wa7ch3000 dans le forum C++
    Réponses: 0
    Dernier message: 08/04/2010, 10h19
  4. Lire une cellule dans un excel
    Par jerome.fortias dans le forum C#
    Réponses: 2
    Dernier message: 28/12/2007, 17h05
  5. [Access 97] Lire une cellule Excel
    Par 6ril25 dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/10/2007, 16h04

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