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

API standards et tierces Java Discussion :

Problème avec POI et Excel


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 17
    Par défaut Problème avec POI et Excel
    Bonjour à tous,

    je viens vous demander de l'aide car j'ai un problème avec POI qui permet de travailler avec des fichiers Excel.

    En effet je développe une petite appli java qui génère un document .xls

    Cependant le contenu de certaine cellule se vide. Après quelques tests je me suis rendu compte que si plusieurs cellules se trouvent sur la même ligne la dernière ajouté efface les autres.
    Voici mon code:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    try {
                //Si un evenement ne possede pas d'heure de début, il dur toute la journée et il débute a 0h
                if(listP[6]!=(-1)){
                    nbCase=nbDemiHeure(listP[6], listP[7], listP[8], listP[9]);
                    positionV=positionVertical(listP[6],listP[8]);
                }
                else{
                    nbCase=48;
                    positionV=2;
                }
     
                System.out.println("------Création dans le fichier Excel------");
                System.out.println("nbcase: "+nbCase);
                System.out.println("positionV: "+positionV);
                System.out.println("------------------------------------------");
     
                FileOutputStream fileOut;
     
                POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(path));
                HSSFWorkbook wb = new HSSFWorkbook(fs);
                HSSFSheet sheet = wb.getSheetAt(0);
                HSSFRow row ;            
                HSSFCell cell = null;
                HSSFCellStyle cellStyle = null;
     
                row = sheet.createRow(positionV-1);
                cell = row.createCell( listP[4]);
                cell.setCellType(HSSFCell.CELL_TYPE_STRING);
                cell.setCellValue(new HSSFRichTextString(resume));
                cellStyle = wb.createCellStyle();
                cellStyle.setFillForegroundColor(ChangeCouleur(listP[6], listP[8]));
                CellRangeAddress region = new CellRangeAddress(positionV-1, positionV+nbCase-2, listP[4], listP[4]);
                sheet.addMergedRegion(region);
                cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
                cell.setCellStyle(cellStyle);
     
                fileOut = new FileOutputStream(path);
                wb.write(fileOut);
                fileOut.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    J'ai pas tout mis évidement, mais j'ai vérifier les valeurs de toutes mes variables et elle sont correctes...
    Avez vous déjà rencontrer ce problème?

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Par défaut
    Salut,
    Je ne suis plus certain mais il me semble qu'il faut faire un get de la cellule, la tester puis la créer si elle n'existe pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HSSFCell cell =row.getcell(numcollonne);
    if (cell == null)
         cell=row.createCell(numcollonne);
    Le problème ne vient peut être pas de là, mais ça ne coute rien d'essayer :p

Discussions similaires

  1. Problème avec le solveur Excel 2003
    Par ber84 dans le forum Excel
    Réponses: 4
    Dernier message: 01/07/2010, 22h11
  2. Probleme avec POI (API excel pour java)
    Par Frigok dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 06/04/2009, 17h17
  3. [VBA] Gros problème avec access et Excel
    Par celiaaa dans le forum VBA Access
    Réponses: 17
    Dernier message: 13/08/2007, 12h20
  4. Nouveau problème avec un tableau Excel et une macro VBA
    Par valouche dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/06/2007, 09h30
  5. [Cognos] Problème avec l'export Excel
    Par tonf dans le forum Cognos
    Réponses: 3
    Dernier message: 30/03/2007, 16h13

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