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 : Export d'un tableau vers Excel


Sujet :

Documents Java

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    février 2015
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : février 2015
    Messages : 355
    Points : 142
    Points
    142
    Par défaut POI : Export d'un tableau vers Excel
    Bonjour,
    Dans une appli web java, j'exporte un tableau de montants vers Excel (j'utilise POI 3.16 + HSSF).
    Tout fonctionne bien, sauf que certaines cellules sous Excel sont affichées tronquées : des # sont affichés au lieu de la valeur.
    Je suis obligé d'élargir la colonne pour voir les valeurs.
    Est-il possible de dimensionner automatiquement les cellules en fonction de leurs contenus ?
    Merci pour votre aide.

    Voici mon code java, suivi d'une capture écran :

    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
            HSSFWorkbook wb = (HSSFWorkbook) document;
            HSSFSheet sheet = wb.getSheetAt(0);  
            HSSFRow header = sheet.getRow(0);
     
            HSSFCellStyle styleMontant = wb.createCellStyle();
            styleMontant.setAlignment(HorizontalAlignment.RIGHT);
            styleMontant.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00")); 
     
            for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) {        // Ligne
     
                for (int j = 0; j < header.getPhysicalNumberOfCells(); j++) {  // Colonne
     
                    HSSFCell cell = sheet.getRow(i).getCell(j);                // Cellule
     
                    if (i > 0) {  
     
                        if (j >= getColonneFixe()) {  // Colonnes Année
     
                            if (!cell.getStringCellValue().isEmpty()) { 
     
                                cell.setCellValue(Double.parseDouble(cell.getStringCellValue()));
     
                                cell.setCellStyle(styleMontant);
            }
    Résultat de l'export : (ici la colonne I est correcte !)

    Nom : Capture1.PNG
Affichages : 53
Taille : 8,5 Ko

    Après élargissement 'manuel' des colonnes :

    Nom : Capture2.PNG
Affichages : 54
Taille : 9,4 Ko

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2018
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : juin 2018
    Messages : 78
    Points : 112
    Points
    112
    Par défaut
    Bonjour,

    Utilisez la méthode autoSizeColumn de l'objet HSSFSheet.
    De la documentation : http://poi.apache.org/apidocs/dev/or...izeColumn-int-

    Par exemple, à la fin de l'écriture de l'ensemble des données de votre feuille, bouclez sur toutes les colonnes en effectuant un auto size.

    Bon courage

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    février 2015
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : février 2015
    Messages : 355
    Points : 142
    Points
    142
    Par défaut
    Bonjour,
    Merci pour votre réponse.
    Cela fonctionne bien.

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

Discussions similaires

  1. Exporter un tableau vers excel dans Windev Mobile 20
    Par younesoft dans le forum Windev Mobile
    Réponses: 3
    Dernier message: 25/08/2016, 13h28
  2. Exportation tableau vers Excel => #N/A
    Par jeuneprincesse dans le forum MATLAB
    Réponses: 4
    Dernier message: 06/06/2016, 11h32
  3. Export tableau vers Excel
    Par stanilas dans le forum Struts 2
    Réponses: 4
    Dernier message: 19/08/2011, 11h42
  4. Export d'un tableau vers Excel
    Par Tententai dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/10/2006, 09h14
  5. [Excel] Exporter un tableau vers excel
    Par legillou dans le forum Documents
    Réponses: 8
    Dernier message: 08/02/2006, 14h37

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