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 :

[POI] optimisation lecture Excel


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 [POI] optimisation lecture Excel
    Bonjour à tous,

    j'ai une petite méthode qui lit un fichier excel contenant 3 feuilles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    final Workbook classeurExcel = WorkbookFactory.create(fichier);
    final Sheet feuilleEquipe1 = classeurExcel.getSheet("Equipe_1");
    final Sheet feuilleEquipe2 = classeurExcel.getSheet("Equipe_2");
    final Sheet feuilleScore = classeurExcel.getSheet("Score");
    et pour les lires, je passe par une boucle while différente par page ce qui donne le résultat suivant
    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
     
    int index = 1;
    Row lignesEquipe1 = feuilleEquipe1.getRow(index++);
     
    while (lignesEquipe1 != null) {
     
            final JoueurHandball joueur = rowToJoueur(lignesEquipe1);
        equipe1.add(joueur);
            lignesEquipe1 = feuilleEquipe1.getRow(index++);
    }
    index = 1;
    Row lignesEquipe2 = feuilleEquipe2.getRow(index++);
    while (lignesEquipe2 != null) {
     
        final JoueurHandball joueur = rowToJoueur(lignesEquipe2);
        equipe2.add(joueur);
        lignesEquipe2 = feuilleEquipe2.getRow(index++);
    }
    techniquement ça fonctionne, mais je voudrait savoir s'il y'a pas un moyen de faire ça de manière plus propre et optimisé.

    merci pour vos réponse.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Ben oui, vu que c'est le même code qui est répété, tu met ce code dans une méthode, qui prend en paramètre la feuille et te retourne l'équipe. De plus cette lecture supplémentaire d'un row avant la boucle n'a pas vraiment de sens.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public List<JoueurHandball> getEquipe(Sheet feuille){
        List<JoueurHandball> result = new ArrayList<>();
     
        Row lignesEquipe = null;
        while ( (lignesEquipe =  feuille.getRow(index++)) != null) {
            equipe1.add(rowToJoueur(lignesEquipe));
        }
        return result;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    equipe1 = getEquipe(feuilleEquipe1);
    equipe2 = getEquipe(feuilleEquipe2);

  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
    Oh que je suis c**, la solution la plus simple et j'y ai pas pensé.
    Mais oui effectivement ça fait beaucoup plus propre, merci

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

Discussions similaires

  1. Optimisation lecture commentaires excel
    Par beranger.six dans le forum VB.NET
    Réponses: 2
    Dernier message: 18/06/2012, 22h32
  2. Jakarta POI lecture excel avec graphique
    Par mechouiche dans le forum Documents
    Réponses: 1
    Dernier message: 15/09/2008, 15h33
  3. [POI] Traitement fichier EXCEL
    Par the java lover dans le forum Documents
    Réponses: 3
    Dernier message: 23/06/2008, 11h45
  4. optimiser lecture fichier image
    Par cheho dans le forum C++
    Réponses: 17
    Dernier message: 15/09/2006, 14h14
  5. Optimisation lecture d'un fichier en binaire
    Par User dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/10/2005, 21h08

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