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 Excel ajout de couleurs à la palette


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut POI Excel ajout de couleurs à la palette
    Bonjour

    J'ai besoin de retranscrire sous excel un planning de réservations généré sur un support web avec des couleurs html.
    Afin d'être aussi fidèle que possible j'aimerais aussi retranscrire les couleurs utilisées.
    J'ai testé quelques bouts de codes comme ci dessous sans résultat probant.
    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
     
    public static short couleur1 (HSSFWorkbook workbook, String color){
    		//couleur html du type 'A7A37E'
    		int r = Integer.parseInt( color.substring(0, 2), 16);
    		int v = Integer.parseInt( color.substring(2, 4), 16);
    		int b = Integer.parseInt( color.substring(4, 6), 16);
     
    		HSSFPalette palette = workbook.getCustomPalette();
    		HSSFColor hssfColor = null;
    		short index;
    		if(indexcolor.indexOf(color)==-1)
    			{//couleur non initialisée
    			 indexcolor.add(color);
    			 // +64 pour être hors palette prédéfinie d'excel
    			 index = (short)(indexcolor.indexOf(color)+64);
    			 try {
    				hssfColor= palette.findColor((byte)r, (byte)v, (byte)b); 
    				if (hssfColor == null ){
    					palette.setColorAtIndex(index, (byte)r, (byte)v, (byte)b);
    					//hssfColor = palette.getColor(index);
     
    					}
    			} catch (Exception e) {e.printStackTrace();}
    			}
    		else
    			{//couleur initialisée
    			 index = (short)(indexcolor.indexOf(color)+64);}
     
    		 return index;
    		}
    Auriez vous une idée

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Par défaut
    Eh bien maintenant ça fonctionne, mais nous sommes limités à 64 couleurs qui remplacent celles existantes donc attention aux index.
    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
     
    public static short couleur1 (HSSFWorkbook workbook, String color){
    		//couleur html du type 'A7A37E'
    		int base = 59;
    		HSSFColor hssfColor = null;
    		short index;
    		if(indexcolor.indexOf(color)==-1)
    			{//couleur non initialisée
    			 indexcolor.add(color);
    			 // +64 pour être hors palette prédéfinie d'excel
    			 index = (short)(indexcolor.indexOf(color)+base);
    			 //décomposition couleur
    			 byte r = (byte)Integer.parseInt( color.substring(0, 2), 16);
    			 byte v = (byte)Integer.parseInt( color.substring(2, 4), 16);
    			 byte b = (byte)Integer.parseInt( color.substring(4, 6), 16);
    			 try {
    				hssfColor= palette.findColor(r, v, b); 
    				if (hssfColor == null ){
    					palette.setColorAtIndex(index, r, v, b);	
    					}
    			} catch (Exception e) {e.printStackTrace();}
    			}
    		else
    			{//couleur déjà initialisée
    			 index = (short)(indexcolor.indexOf(color)+base);}
     
    		 return index;
    		}

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

Discussions similaires

  1. [POI] Problème avec les couleurs des cellules Excel
    Par ninoch07 dans le forum Documents
    Réponses: 1
    Dernier message: 15/01/2015, 14h14
  2. Ajouter des couleurs à un Fichier Excel existant
    Par param_cat dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 16/06/2010, 11h38
  3. Réponses: 6
    Dernier message: 06/12/2005, 15h52
  4. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53
  5. Réponses: 7
    Dernier message: 24/02/2004, 04h30

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