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 :

Afficher les cellules vides d'un fichier excel


Sujet :

Documents Java

  1. #1
    Membre du Club
    Femme Profil pro
    en java
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Sénégal

    Informations professionnelles :
    Activité : en java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 59
    Points
    59
    Par défaut Afficher les cellules vides d'un fichier excel
    Bonjour à tous,
    j'ai un problème lors de l'affichage de certaines cellules du fichier excel dont j'ai charger les données dans une liste d'objet.
    Ce fichier contient les informations d'une personne(id, nom, prenom, surnom) et jai cree une classe avec les memes champs que le fichier excel et une methode rowToPersonne() , cette méthode prend une ligne pour la convertir en personne et ensuite une liste de personnes qui contient toutes les personnes mais comme que j'ai certaines cellules null ca refuse d'affiche la liste si je nai pas de cellules null ca affiche bien la liste.
    J'aimerai avoir une idée sur comment tester si c'est cellule null nempeche de l afficher?.
    jE VOUS MET LES CODES SUR LA METHODE rowToPersonne() , la classe personne et la liste de personnes et le fichier excel .
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class Personne {
        int id;
        String nom;
        String prenom;
        String surnom;
    //getters,setters,toString
    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
    21
     
    //Methode conversion d'une ligne en objet personne 
    private static Personne rowToPersonne(final Row row) {
                        final Personne per = new Personne();
     
                        final int id = (int) row.getCell(0).getNumericCellValue();
                        per.setId(id);
     
                        final String nom = row.getCell(1).getStringCellValue();
                        per.setNom(nom);
     
                        final String prenom = row.getCell(2).getStringCellValue();
                        per.setPrenom(prenom);
     
                        final String surnom = row.getCell(3).getStringCellValue();
                        per.setSurnom(surnom);
     
     
     
        return per;
        }
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    //parsing du fichiers et charge dans la liste 
    try {
     
     
                        FileInputStream file = new FileInputStream(new File("C:\\Users\\oumou-raby.dia\\Desktop\\testpersonne.xlsx"));
                       XSSFWorkbook  classeur = new XSSFWorkbook (file);
                       XSSFSheet feuille = classeur.getSheetAt(0);
     
              try{
                        FileInputStream file = new FileInputStream(new File("C:\\Users\\oumou-raby.dia\\Desktop\\testpersonne.xlsx");
                       XSSFWorkbook  classeur = new XSSFWorkbook (file);
                       XSSFSheet feuille = classeur.getSheetAt(0);
                    List<Personne> listepersonnes = new ArrayList<Personne>();
     
                       int index=1;
                       Row row = feuille.getRow(index++);
                       while(row !=null){
                         final Personne perso= rowToPersonne(row);
                         listepersonnes.add(perso);
                         row= feuille.getRow(index++);
                       }
                       System.out.println("voici les données du fichier excel:\n");
                        System.out.println("ID \t"+ "NOM \t" + "PRENOM \t" + "SURNOM \t");
              for (int k=0; k<listepersonnes.size();k++)
    	          {
     
                        System.out.println(listepersonnes.get(k)+"\n");
                        }
     
    } catch (Exception e) {[ATTACH=CONFIG]209162[/ATTACH]
                               System.out.println(e.getMessage());
                   } 
         }

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,

    Citation Envoyé par oumouRaby Voir le message
    .... mais comme que j'ai certaines cellules null ca refuse d'affiche la liste si je nai pas de cellules null ca affiche bien la liste.
    J'aimerai avoir une idée sur comment tester si c'est cellule null nempeche de l afficher?.
    ....
    Lorsque tu dis empêche de l'afficher tu veux dire quoi exactement ?
    Il y a une erreur ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Femme Profil pro
    en java
    Inscrit en
    Février 2014
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Sénégal

    Informations professionnelles :
    Activité : en java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2014
    Messages : 94
    Points : 59
    Points
    59
    Par défaut
    En fait ça m'affiche "null"

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut
    J'imagine que excel doit traiter des cellules vides comme null et non une chaine vide.

    Pour remédier à ça moi je vois deux solutions

    Probablement la plus simple, dans ton fichier excel tu remplies tes cellules vides par une chaine vide ""
    Encore que normalement excel devrait être capable de faire la conversion tout seul.

    L'autre méthode plus propre ça serait de tester ton string en java et là si tu vois que tu as null dans le string et bien tu le convertis en "".


    En espérant ne pas dire de conneries.

  5. #5
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    bonjour,
    Citation Envoyé par Amnael Voir le message
    Probablement la plus simple, dans ton fichier excel tu remplies tes cellules vides par une chaine vide ""
    Encore que normalement excel devrait être capable de faire la conversion tout seul.
    D'une, rien ne peux garantir que la chaine vide ne sera pas traité comme une cellule vide !
    De deux, pourquoi aller modifier à la main quelque chose (qui ressemble a une extraction de données en plus) alors que l'on peux traiter le problème automatiquement

    Citation Envoyé par Amnael Voir le message
    L'autre méthode plus propre ça serait de tester ton string en java et là si tu vois que tu as null dans le string et bien tu le convertis en "".
    C'est effectivement beaucoup plus propre !

    Le mieux serait de le traiter soit dans un constructeur qui vérifiera la validité des données, soit dans le setter si l'on souhaite que le contrôle puisse être fait fois que l'on affect l'information.
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [XL-2007] compter et afficher les cellules vides
    Par souad12 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/08/2011, 01h47
  2. [2K8] Afficher les cellules vides
    Par jdmbh dans le forum SSAS
    Réponses: 1
    Dernier message: 23/03/2010, 11h04
  3. [AC-2003] lire toutes les cellules remplies d'un fichier excel
    Par tibofo dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/03/2010, 18h52
  4. Importer Excel sauf les cellules vides
    Par curt dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/05/2008, 18h31
  5. Afficher les cellules vides...
    Par Invité dans le forum ASP
    Réponses: 1
    Dernier message: 31/08/2005, 17h32

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