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

avec Java Discussion :

lecture colonne excel donne nullPointer


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 14
    Par défaut lecture colonne excel donne nullPointer
    Bonjour à tous,

    je rencontre une nullPointer exception quand j'essaie de lire une colonne dans une ligne d'un fichier excel

    mon classeur excel est composé de plusieurs ligne qui ont chacune 3 colonnes de renseigné, qui correspondent aux information d'un joueur (exemple en dessous)
    Erwan Capitaine 22


    j'arrive bien à récupérer les informations contenues dans la première colonne, mais pas dans la seconde, ni dans la troisième

    voici ma méthode de lecture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private static JoueurHandball rowToJoueur(final Row row) { 
     
        JoueurHandball joueur = new JoueurHandball(); 
        joueur.setNom(row.getCell(0).getStringCellValue()); 
        joueur.setPoste(row.getCell(1).getStringCellValue()); 
        joueur.setNumero((int) row.getCell(2).getNumericCellValue()); 
     
        return joueur; 
     
     }
    la ligne qui récupère le nom me renvoie la valeur "Erwan", mais celle censé récupérer le poste me renvoie un NullPointerException, et idem pour le numéro.

    merci d'avance pour vos réponses.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Est-tu sure que ton fichier XLS(x) est correcte parce qu'avec le peu de code que je vois, tout semble OK.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 14
    Par défaut
    comme j'arrive à récupérer la première colonne je pense que le fichier est correct, après en log j'ai la trace suivante quand il exécute la ligne de récupération du poste
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at traitement.TraitementSport.rowToJoueur(TraitementSport.java:115)

    la ligne 115 étant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    joueur.setPoste(row.getCell(1).getStringCellValue());
    après j'avoue ne pas avoir essayé de changer le format de mes cellules en les mettant en pure Texte ou Nombre dans Excel

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Refile un bout de fichier (ou tout le fichier si c'est pas confidentiel) car c'est impossible à voire d'ou peut venir le problème ainsi. (dans le bon format)

    Mais a priori

    retourne un null comme indiqué par le stacktrace.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2016
    Messages : 14
    Par défaut
    Voilà le fichier utilisé.
    Si ça peut aider voici aussi un lien vers le code complet que j'utilise
    https://github.com/ErwanLT/Sports/bl...mentSport.java
    la méthode le lecture de ligne Excel ce trouve dans la méthode traitementHandball
    Fichiers attachés Fichiers attachés

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Nom : hemhem.png
Affichages : 149
Taille : 22,5 Ko

    Chez moi je n'ai aucun nullpointer, ça marche ... par contre je remarque un truc bizarre que je n'ai pas encore compris.

    Edit : Ok, je viens de voire une truc qui peut être pourrait expliquer des choses, l'index était à 1 c'était voulu ? (voir le commentaire)

    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
    private static List<JoueurHandball> feuilleToEquipe(final Sheet sheet){
            List<JoueurHandball> equipe = new ArrayList<JoueurHandball>();
            int index = 0; // Pourquoi avoir mis 1 avant ?
            Row lignesEquipe = sheet.getRow(index++);
     
            while (lignesEquipe != null) {
     
                final JoueurHandball joueur = rowToJoueur(lignesEquipe);
                equipe.add(joueur);
     
                lignesEquipe = sheet.getRow(index++);
            }
     
            return equipe;
     
        }
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/06/2011, 12h57
  2. Réponses: 6
    Dernier message: 02/05/2011, 08h40
  3. changer la valeur des données dans une colonne excel et les trier
    Par thewind1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2011, 22h35
  4. Réponses: 6
    Dernier message: 04/04/2007, 10h27

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