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] Pb coloration d'une case


Sujet :

Documents Java

  1. #1
    Membre régulier Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 96
    Points
    96
    Par défaut [POI] Pb coloration d'une case
    Bonjour a tous
    dans le cadre d'un projet je suis amener a faire des export excel.
    Pour cela j'utilise la librairie POI HSSF de Jakarta.

    Mais j'ai un probleme quand je veux creer une case de couleur. Pour cela je creer un style HSSFCellStyle

    mais il ne colore pas la case qd je met

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    styleEntete.setFillPattern(HSSFCellStyle.NO_FILL);
    styleEntete.setFillBackgroundColor((short)40);
    mais quand je met ca ca marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    styleEntete.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
    styleEntete.setFillBackgroundColor((short)40);
    le probleme etant que ca me mets des petits points et c pas tres joli!!

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Points : 626
    Points
    626
    Par défaut
    Je ne connais pas cette librairie mais en lisant le code, il me semble evident que
    ne colorie pas la case,
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     HSSFCellStyle.SPARSE_DOTS
    cree des petits points.

    Je dirais qu'il faut utiliser HSSFCellStyle.*, * à trouver avec la doc.

  3. #3
    Membre actif Avatar de vincent63
    Inscrit en
    Octobre 2005
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 198
    Points : 205
    Points
    205
    Par défaut
    Voilà différents styles, choisi le tient

    http://jakarta.apache.org/poi/apidoc...CellStyle.html
    "Ils ne savaient pas que c'était impossible... alors ils l'ont fait." Mark Twain

  4. #4
    Membre régulier Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 96
    Points
    96
    Par défaut
    TabrisLeFol
    je suis d'accord avec toi mais moi je ne veux pas de petits points!!

    je veux juste qu'il me colorie la case
    mais styleEntete.setFillBackgroundColor((short)40); ne marche que qd je met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    styleEntete.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
    comment faire pour colorier une case sans avoir de petits points

  5. #5
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Bonjour

    tu peux me donner un peu plus de code stp ?
    j'ai dejà travailler sur cette API ... je peux peut etre touver qque chose dans e code

  6. #6
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    sinon j'ai ce genre de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private  HSSFWorkbook wb = new HSSFWorkbook();
    HSSFCellStyle headerStyle = wb.createCellStyle();
    headerStyle.setFillBackgroundColor((short) HSSFColor.DARK_RED.index);
    HSSFCell cellLib = rowLib.createCell((short) 0);
    cellLib.setCellStyle(headerStyle);
    il te manque peut etre qqe chose

  7. #7
    Membre régulier Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 96
    Points
    96
    Par défaut
    Voici le code de creation de mon style

    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
    styleEntete = wb.createCellStyle();
    			HSSFFont font = wb.createFont();
          			font.setFontHeightInPoints((short) 10);
          			font.setFontName("Arial");
          			font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
          			styleEntete.setFont(font);
    			styleEntete.setBorderBottom(HSSFCellStyle.BORDER_THIN);
    			styleEntete.setBorderTop(HSSFCellStyle.BORDER_THIN);
    			styleEntete.setBorderLeft(HSSFCellStyle.BORDER_THIN);
    			styleEntete.setBorderRight(HSSFCellStyle.BORDER_THIN);
    			styleEntete.setVerticalAlignment((short)3);
    			//styleEntete.setFillPattern(HSSFCellStyle.SPARSE_DOTS);
    			//styleEntete.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    			styleEntete.setFillBackgroundColor(HSSFColor.BLUE.index);
    			styleEntete.setAlignment(HSSFCellStyle.ALIGN_CENTER);

  8. #8
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    quand tu ne mets pas le setFillPattern est ce que cela te donne ce que tu veux : je veux dire est ce que la case est coloriée et est ce que le format est bon ?

  9. #9
    Membre régulier Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 96
    Points
    96
    Par défaut
    qd je ne mets pas le setFillPattern la case reste blanche et le texte affiche tout va sauf la couleur (enfin je crois)

    et qd je mets le setFillpattern la case est colorie mais avec le pattern

  10. #10
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    en tout cas voilà un code qui fonctionne

    essaie de voir l'ordre d'ecriture des instructions

    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
     
     
    SSFCellStyle headerStyle = wb.createCellStyle();
    headerStyle.setFillBackgroundColor((short) HSSFColor.DARK_RED.index);
    headerStyle.setFillForegroundColor(HSSFColor.DARK_RED.index);
    headerStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
    HSSFFont font = wb.createFont();
    font.setColor(HSSFColor.WHITE.index);
    font.setBoldweight((short) 10);
    headerStyle.setFont(font);
    // bordures de cellules
    if (bordure) {
    			headerStyle.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
    headerStyle.setBottomBorderColor(HSSFColor.BLACK.index);
    headerStyle.setBorderLeft(HSSFCellStyle.BORDER_MEDIUM);
    headerStyle.setLeftBorderColor(HSSFColor.BLACK.index);
    headerStyle.setBorderRight(HSSFCellStyle.BORDER_MEDIUM);
    headerStyle.setRightBorderColor(HSSFColor.BLACK.index);
    headerStyle.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
    headerStyle.setTopBorderColor(HSSFColor.BLACK.index);
    		}
    headerStyle.setVerticalAlignment(alignementV);
    headerStyle.setAlignment(alignementH);
    HSSFRow rowLib = templateSheet.createRow(position);
    // mise à jour du contenu de la cellule
    HSSFCell cellLib = rowLib.createCell((short) 0);
    cellLib.setCellValue(Libelle);
    cellLib.setCellStyle(headerStyle);

  11. #11
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    Alors ça y est ton code fonctionne ?

  12. #12
    Membre régulier Avatar de royto
    Homme Profil pro
    Développeur .Net & Web
    Inscrit en
    Mai 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .Net & Web

    Informations forums :
    Inscription : Mai 2005
    Messages : 92
    Points : 96
    Points
    96
    Par défaut
    merci beaucoup ca marche

    je pense que c parce qu'il me manquait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    styleEntete.setFillForegroundColor((short)40);
    PS: Desole je bossais pas hier

  13. #13
    Membre éprouvé Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Points : 1 161
    Points
    1 161
    Par défaut
    bon ben tant mieux
    bonne journée

    a+

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/02/2009, 00h11
  2. Colorer une case comme paint
    Par ptitepo dans le forum Excel
    Réponses: 7
    Dernier message: 23/05/2008, 16h49
  3. Réponses: 0
    Dernier message: 13/02/2008, 12h11
  4. colorer une case qui repond aune condition
    Par D.Mounir dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/05/2007, 11h50
  5. [JTable] comment colorer une case
    Par cladsam dans le forum Composants
    Réponses: 12
    Dernier message: 20/01/2005, 08h14

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