JExcel (jxl) : Souci pour écrire dans une cellule

Résolu
pikapote Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 11 mars 2014 - 3 août 2010 à 14:55
pikapote Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 11 mars 2014 - 17 août 2010 à 08:44
Bonjour à tous,

Je suis en train de développer avec l'aide de l'API jxl. Cependant, je n'arrive pas à écrire quoique ce soit dans mon fichier Excel. Pouvez-vous me dire d'où vient cette erreur : java.lang.ClassCastException: jxl.biff.EmptyCell cannot be cast to jxl.write.Label


Pourtant, je fais comme tous les exemples trouvés sur le web...
 WritableCell cell = null;
CellFormat cf = new WritableCellFormat(bold);
cell = sheet.getWritableCell("A3");
cell.setCellFormat(cf);
Label label = (Label)cell;
label.setString("test");
writableWorkbook.write(); // il est définit et initialisé correctement plus haut


Merci pour votre aide, et bonne journée !


*************************
Here we go !

2 réponses

pikapote Messages postés 66 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 11 mars 2014 1
17 août 2010 à 08:44
Merci pour ton aide.

Mon souci venait de mon appel à mon writableWorkbook. En effet, je l'appelais dès l'init alors qu'il fallait que l'appel plus tard.

Je n'ai pas réellement compris pourquoi, mais si je l'appelais dès le début, je n'arrivais pas écrire dedans.

Merci encore : sujet clos !


*************************
Here we go !
3
dmk04 Messages postés 206 Date d'inscription samedi 29 octobre 2005 Statut Membre Dernière intervention 7 mars 2012
4 août 2010 à 11:21
Salut,

D'après le message d'erreur c'est cette ligne qui plante :
Label label = (Label)cell;

getWritableCell te retourne un jxl.biff.EmptyCell (ta cellule doit être vide je suppose) qui ne peu pas être casté en Label...


Pourquoi ne fais-tu pas quelque chose comme :

CellFormat cf = new WritableCellFormat(bold);
Label lbl = new Label(0, 2, "test", cf);
sheet.addCell(lbl);

A+
0
Rejoignez-nous