Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2011, 14h09   #1
Futur Membre du Club
 
Inscription : décembre 2006
Messages : 67
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 67
Points : 17
Points : 17
Par défaut Ajuster la taille du Header et colonne en Excel

Bonjour,

J'esseye d'agrandir la taille des headers et colonnes, mais le resultat est toujours le meme en sortie Excel.

Voici la partie Java qui génére le fichier excel

Code :
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
 
IReportEngine engine = BIRTReportHelper.getReportEngine();
            String reportDesignFullPathName = BIRTReportHelper.getBirtReportDir() + "/" + this.name;
            IReportRunnable design = engine.openReportDesign(reportDesignFullPathName);
            ReportDesignHandle reportDesignHandle = (ReportDesignHandle)design.getDesignHandle();
            ElementFactory elementFactory = reportDesignHandle.getElementFactory();            
            TableHandle tableHandle = elementFactory.newTableItem("mainTable", this.nbColumns,1,this.nbLines,1);
            tableHandle.setWidth( "100%" );
            SlotHandle slotHandleHeader = tableHandle.getHeader();
            RowHandle rowHandle = (RowHandle)slotHandleHeader.get(0);
            SlotHandle slotHandleCells = rowHandle.getCells();
            for (int i = 0; i < this.headers.size(); i++) {
                CellHandle cellHandle = (CellHandle)slotHandleCells.get(i);
                LabelHandle labelHandle = elementFactory.newLabel(null);
                labelHandle.setText(this.headers.get(i));
                StyleHandle labelStyle = labelHandle.getPrivateStyle();
                labelStyle.setWhiteSpace(DesignChoiceConstants.WHITE_SPACE_NOWRAP);
                labelStyle.setCanShrink(false);
                //labelHandle.setWidth("500px");  
                cellHandle.setProperty("width", "300px");
                cellHandle.getContent().add(labelHandle);
            }
            SlotHandle slotHandleDetail = tableHandle.getDetail();
            for (int line = 0; line<this.nbLines;line++) {
                ArrayList<String> objectsLine = this.objects.get(line);
                RowHandle curentLine = (RowHandle)slotHandleDetail.get(line);
                SlotHandle cells = curentLine.getCells();
                for(int column = 0; column<this.nbColumns;column++) {
                    String object = objectsLine.get(column);
                    CellHandle cellHandle = (CellHandle)cells.get(column);
                    LabelHandle labelHandle = elementFactory.newLabel(null);
                    labelHandle.setText(object);
                    StyleHandle labelStyle = labelHandle.getPrivateStyle();
                    labelStyle.setWhiteSpace(DesignChoiceConstants.WHITE_SPACE_NOWRAP);
                    labelStyle.setCanShrink(false);
                    //labelHandle.setWidth("100%");
                    cellHandle.setProperty("width", "300px");
                    cellHandle.getContent().add(labelHandle);
                }
            }
J'ai essayé de fixer la taille à 50px, 200px, ...500px mais rien n'a changé avec le LabelHandle ou CellHandle

Je ne c'est pas si c'est possible de le faire, j'ai parcouru la partie du forum sur ce sujet mais rien ne marche
facilus68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2011, 12h59   #2
Membre confirmé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2009
Messages : 186
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2009
Messages : 186
Points : 289
Points : 289
Salut,

Pour ne pas avoir trop de soucis avec les exports pdf et excel j'utilise plutôt les pourcentages pour exprimer les tailles de colonnes, ça marche plutôt bien. Par exemple avec 9 colonnes, affecter
Code :
 cellHandle.setProperty("width", "20%")
au libellé, et 10% aux autres colonnes etc. Mais si tu as un nombre indéterminé de colonnes, il te faudra peut être aussi manipuler la largeur de la master page

Sinon essayes aussi avec les "em" au lieu des pixels des fois ça fonctionne mieux:

Code :
 cellHandle.setProperty("width", "15em")
Peu de chances que mon commentaire t'aide beaucoup mais on sait jamais!
A+
donino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h00.


 
 
 
 
Partenaires

Hébergement Web