JExcel (jxl) : Souci pour écrire dans une cellule [Résolu]

Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
- - Dernière réponse : 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 !
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
66
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
11 mars 2014
1
3
Merci
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 !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de pikapote
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012
0
Merci
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+
Commenter la réponse de dmk04