2009-11-03 4 views
2

Dans Excel, je peux avoir plusieurs styles de texte dans une seule cellule. Est-il possible de créer un fichier comme celui-ci en utilisant JExcelApi? Je ne vois rien jusqu'ici: setCellFormat est une méthode sur WritableCell, et il ne semble pas y avoir moyen de définir un format pour quelque chose dans une seule cellule.JExcelApi: plusieurs formats dans une seule cellule?

Suis-je simplement absent (tout à fait possible!), Ou n'est-ce pas implémenté? En prime: à quel point cela serait-il difficile à implémenter? Existe-t-il une autre bibliothèque Excel-export qui l'implémente, à partir de laquelle je pourrais emprunter le code?

Répondre

-1

Avec des variables WritableSheet ws, int col, int row

Le code suivant définiront la police de votre cellule en gras.

WritableCell wc = ws.getWritableCell(col, row); 
WritableCellFormat cf = wc.getCellFormat() != null ? new WritableCellFormat(wc.getCellFormat()) : new WritableCellFormat(); 
WritableFont wf = new WritableFont(cf.getFont()); 

try { 
     wf.setBoldStyle(WritableFont.BOLD); 
     // refer to http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/write/WritableFont.html for other text styles 
     cf.setFont(wf); 

     wc.setCellFormat(cf); 

    } catch ... 

A CellFormat/WritableCellFormat contient beaucoup de différentes options de mise en forme, telles que la police, les frontières, la couleur de fond et envelopper.

Alors, oui. Vous venez de le manquer: p

EDIT: Comme je ne l'ai pas assez clair, pour plusieurs styles que vous pouvez appeler plusieurs méthodes sur votre WritableFont, par exemple setBoldStyle(), setItalic(), setUnderlineStyle(), setStruckout(), setColour(), etc.

0

@Cosmic Il existe une autre façon de lire cette question: plusieurs formats dans des zones distinctes d'une même cellule.

Comme: « Italiquegras texte » avec « italique » et « gras » définis dans un style différent, à savoir gras italique pas, respectivement.

Cela peut-il être fait dans JExcelAPI? Je ne suis pas au courant de cela. N'importe qui?

Questions connexes