java pour excel le formatage de la date

Le problème est quand je suis en cours d'exécution de mon application, et une grille (avec des cordes et les colonnes date et l'enregistrer comme un fichier excel.

Quand je l'enregistre pour la première fois, tout est formaté correctement, mais lorsque j'essaie d'enregistrer exactement la même grille une seconde fois, le formatage de la date a disparu (c'est juste un flotteur de valeur que lorsque je clic droit et le format d'un objet dateTime œuvres). Lorsque je redémarre mon application il fonctionnera de nouveau pour la première fois, puis perdre la mise en forme de nouveau

le code ressemble à ceci:

Calendar calendar = Calendar.getInstance();

calendar.setTime((Date)data);
            Date gmtDate = new Date(((Date) data).getTime() + (calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET)));

writableCell = new jxl.write.DateTime(sheetColumn, sheetRow, gmtDate, jxl.write.DateTime.GMT);

cellFormat = new jxl.write.WritableCellFormat (new jxl.write.DateFormat("m/d/yyyy h:mm");

writableCell.setCellFormat(cellFormat);

sheet.addCell(writableCell);

J'ai gardé pause-pointage et tout est comme il devrait l'être (il a toujours su que c'était un dateTime type avant d'aller à la feuille), donc je ne pense pas que c'est à partir du code.

Quelqu'un d'autre a rencontré ce problème?

Vous montrez la création du format, pouvez-vous me montrer comment vous êtes en train d'enregistrer le fichier?
Désolé pour la réponse tardive (je l'avais quitté pour la journée quand il est venu dans). donc ce que je fais c'est d'utiliser un JFileChooser pour l'enregistrer en tant que .xls, le code avant de jouer avec la mise en forme je fais le classeur jxl.écrire.WriteableWorkbook classeur = jxl.Classeur.createWorkbook(filename); feuille = classeur.createSheet("Rapport",0); puis afteri faire la mise en forme, je dis: classeur.écrire; classeur.fermer;
J'ai essayé, mais n'a pas pu reproduire ce que vous voyez. Pouvez-vous fournir un SSCCE?
j'ai creusé un peu plus profondément dans le code (je n'ai pas d'abord l'écrire) et il me sembla qu'il était de réutiliser le format de cellule (jxl ne permet pas), mais quand j'ai pris le code qui réutilise le format de cellule, j'obtiens une exception, car le fichier excel est vraiment grand et et un trop grand nombre de format de cellules sont en cours de création, il semble
Jetez un oeil à travers le code de toute la désactivation de "rationalisation". Soit par la pose d'un système de propriété de "jxl.norat" ou un appel à "setRationalization(false)" (sur un WorkbookSettings objet). Lorsqu'elle est activée, jxl va essayer d'éliminer les doubles formats de cellule.

OriginalL'auteur samligo | 2012-06-16