Je tente de générer des feuilles Excel dans l'application Java en utilisant JExcelAPI (version 2.6.3) et je ne peux pas générer correctement les cellules de date. Par exemple, pour le code:JExcelAPI - la date d'écriture dans la feuille Excel ignore le jour, le mois et l'année
WritableWorkbook workbook = null;
workbook = Workbook.createWorkbook(new File("C:\\tmp\\tests.xls"));
try {
Date date = new Date();
final WritableSheet sheet = workbook.createSheet("Sheet", 0);
DateTime dateTime = new DateTime(0, 0, date);
sheet.addCell(dateTime);
System.out.println("Date1 is " + date);
final Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2007);
cal.set(Calendar.MONTH, Calendar.OCTOBER);
cal.set(Calendar.DAY_OF_MONTH, 17);
cal.set(Calendar.HOUR_OF_DAY, 8);
cal.set(Calendar.MINUTE, 15);
date = cal.getTime();
dateTime = new DateTime(0, 1, date);
sheet.addCell(dateTime);
System.out.println("My birthday is on " + date);
} finally {
workbook.write();
workbook.close();
}
La sortie (sur la console) est:
Date1 est Lun 8 juin 11:14:45 GMT + 01: 00 2009
Mon anniversaire est le Mer 17 octobre 08 : 15: 45 GMT + 01: 00 2007
Et dans un fichier Excel, les cellules sont
1900-01-00 10:14:46
1900-01-00 07:15:46
La partie de temps dans Excel est corrigée en UTC et la partie de date est supprimée. Bien que la référence mentionne un problème de fuseau horaire, elle ne dit rien sur les dates d'élimination. Qu'est-ce que je fais mal?
N'ajoutez pas de nouvelle réponse. Modifier votre original – duffymo
ou acceptez cette réponse pour clarifier vous avez compris le problème –
Vous venez de résoudre mon problème très similaire :) –