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

pikapote 66 Messages postés lundi 13 mars 2006Date d'inscription 11 mars 2014 Dernière intervention - 3 août 2010 à 14:55 - Dernière réponse : pikapote 66 Messages postés lundi 13 mars 2006Date d'inscription 11 mars 2014 Dernière intervention
- 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

Répondre au sujet
pikapote 66 Messages postés lundi 13 mars 2006Date d'inscription 11 mars 2014 Dernière intervention - 17 août 2010 à 08:44
+3
Utile
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 !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de pikapote
dmk04 206 Messages postés samedi 29 octobre 2005Date d'inscription 7 mars 2012 Dernière intervention - 4 août 2010 à 11:21
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.