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 :

[POI] Deleter une ligne (pas mettre à blanc)


Sujet :

Documents Java

  1. #1
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut [POI] Deleter une ligne (pas mettre à blanc)
    Bonjour, j'ai un leger problème sur un fichier excel cree avec POI, j'aimerais pouvoir supprimer une ligne.

    Il y a bien la méthode removeRow de l'objet sheet, mais ca met seulement à blanc toutes les cellules.

    Il n'éxiste pas une méthode type deleteRow(int arg), ou un truc dans le genre.

    Merci d'avance, j'ai cherché partout, et j'ai peur que ca n'éxiste pas, meme si ca m'étonne un peu quand même.

    Jab,
    " Je préfère comprendre les gens qui ne me comprennent pas "

  2. #2
    Membre expérimenté Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Points : 1 544
    Points
    1 544
    Par défaut
    on meme temps le boulot derriere pour supprimer une ligne c'est pas evident...
    par contre la solution en general a ce genre de probleme, c'est :
    parser ligne a ligne tant que pas a la fin
    si pas la ligne voulu
    ecrire dans autre fichier
    sinon
    ben rien

    supprimer l ancien fichier
    renommer le nouveau.

    Je sais pas si c'est ce que tu veux, mais c'est a peu pres la seul solution que j'utilise et que j'ai vu utilisée
    TchÔ
    "vaste programme"

  3. #3
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Erf sur un fichier de 60 000 lignes, ca va pas etre géniale, autant le traiter ainsi d'entré de jeu.

    En fait mon problème vient d'import de fichier excel.

    Le jeu c'est de donner la possibilité à l'utilisateur de faire un import de prix ou d'update d'articles à partir d'un fichier excel ( fichier donné par le fournisseur )

    Le problème c'est que ce fichier arrive formatté n'importe comment, donc ce que je fais c'est lié ce fichier à un server lié en sql mettre les données dans un autre server lié à un autre fichier excel ( oui c'est un peu bourrin mais tres rapide )

    Et le truc c'est que tous les champs arrive en format texte donc formattage 0, je cree donc une premiere ligne avec un bon format et le reste roule tout seule, mais j'ai une ligne blanche en début de fichier.

    En terme de performance, traiter un fichier de 60 000 lignes avec POI, ca me parait tres tres lourd !! Enfin je vais essayé de chercher une autre méthode, pas grave.

    Merci quand meme.
    " Je préfère comprendre les gens qui ne me comprennent pas "

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    Citation Envoyé par BainE Voir le message
    on meme temps le boulot derriere pour supprimer une ligne c'est pas evident...
    par contre la solution en general a ce genre de probleme, c'est :
    parser ligne a ligne tant que pas a la fin
    si pas la ligne voulu
    ecrire dans autre fichier
    sinon
    ben rien

    supprimer l ancien fichier
    renommer le nouveau.

    Je sais pas si c'est ce que tu veux, mais c'est a peu pres la seul solution que j'utilise et que j'ai vu utilisée
    TchÔ

    Et tu fais comment pour copier une ligne complete dans un autre fichier excel que tu viens de creer?
    Moi j'ai pas trouvé de methode dans hssfSheet qui insere une hssfrow.

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Jabbal'H Voir le message
    Bonjour, j'ai un leger problème sur un fichier excel cree avec POI, j'aimerais pouvoir supprimer une ligne.

    Il y a bien la méthode removeRow de l'objet sheet, mais ca met seulement à blanc toutes les cellules.

    Il n'éxiste pas une méthode type deleteRow(int arg), ou un truc dans le genre.

    Merci d'avance, j'ai cherché partout, et j'ai peur que ca n'éxiste pas, meme si ca m'étonne un peu quand même.

    Jab,
    Bonjour,

    Je viens de tomber sur ce problème également, et j'ai trouvé une solution, donc je vous la donne si ca peut servir a quelqu'un : apres le removeRow(...) je fais un shiftRows(...) pour remonter la suite de la feuille excel :

    //supprime le contenu de la ligne
    sheet.removeRow(sheet.getRow(LigneASupprimer));
    //remonte les lignes suivantes
    sheet.shiftRows(LigneASupprimer+1, sheet.getLastRowNum(),-1);

    Emilie

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Oui ça a marché pour moi ...

    Super utile ... Merci beaucoup !!

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

Discussions similaires

  1. Lire une ligne et mettre le résultat dans des variables
    Par www.rubis dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 06/05/2014, 15h23
  2. [2008R2] delete une ligne sur deux
    Par Papy214 dans le forum Développement
    Réponses: 2
    Dernier message: 14/03/2014, 11h21
  3. Désactiver une ligne (pas toutes) d’un DbGrid
    Par gilardino dans le forum Langage
    Réponses: 1
    Dernier message: 03/05/2008, 14h05
  4. Hauteur adapté à l'ensemble des champs d'une ligne: Pas de réponses?!
    Par mikebo74 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 05/12/2007, 15h22
  5. Deleter une ligne dans access
    Par andreditdd dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/06/2007, 13h30

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