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 :

[POI] (v3.6) Problème lors de la fusion de cellules (addMergedRegio): excel a rencontré un contenu illisible


Sujet :

API standards et tierces Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 80
    Points
    80
    Par défaut [POI] (v3.6) Problème lors de la fusion de cellules (addMergedRegio): excel a rencontré un contenu illisible
    Bonjour,

    J'utilise poi3.6, suite à la fusion de cellules, lors de la génération d'un fichier XLSX (il est bien généré), mais à l'ouverture j'ai un message d'erreur :
    "excel a rencontré un contenu illisible dans <<Fichier.xlsx>>. Voulez vous récupérer le contenu de ce classeur..."
    je clique oui, un autre message s'affiche informant que des Réparations du contenu ont été faites.

    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
    ....
    ....
    XSSFRow row = sheet.getRow(rowMonthIndex);
    		if(row == null){
    			row = sheet.createRow(rowMonthIndex);
    		}
    		
    
    int firstRow = rowMonthIndex;
    		int lastRow = rowMonthIndex;
    		int firstCol = colMonthIndex;
    		int lastCol = colMonthIndex + nbJoursRestantDuMoisCourant;
    		CellRangeAddress cra = new CellRangeAddress(firstRow, lastRow, firstCol, lastCol);
    		XSSFCell cell = null;
    		for (int i = firstCol; i <= lastCol; i++) {
    			cell = row.getCell(i);
    			if(cell == null){
    				cell = row.createCell(i);
    			}
    			cell.setCellStyle(_borderStyle);
    		    if (i == firstCol) {
    		    	cell.setCellValue(dateColonne);
    		    } 
    		}
    		
    		sheet.addMergedRegion(cra);

    Merci d'avance.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 80
    Points
    80
    Par défaut
    en cherchant un peu, je suis tombé sur cet élément de réponse, ils parlent de conflits entre régions fusionnées.

    http://apache-poi.1045710.n5.nabble....td3389764.html

    j'ai revu mon code et j'ai vu que je faisais appel plusieurs fois à addMergedRegion(...) pour la même sheet et mêmes régions (même row et [col_first,col_last]) car ce code était dans une boucle.

    la solution était de le sortir de la boucle.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/08/2012, 09h01
  2. Réponses: 2
    Dernier message: 01/07/2008, 17h07
  3. Confirmation lors d'une fusion de cellule
    Par Iloon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/03/2008, 11h49
  4. Problème lors de l'ouverture d'un modèle Excel
    Par ploxien dans le forum Excel
    Réponses: 2
    Dernier message: 10/01/2008, 08h52
  5. Problème lors de l'import d'un fichier excel
    Par mattyeux dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/11/2007, 14h26

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