JExcelAPI (버전 2.6.3)를 사용하여 Java 응용 프로그램에서 일부 Excel 시트를 생성하려고하는데 날짜 셀을 제대로 생성 할 수 없습니다. 예를 들어, 코드 :JExcelAPI - Excel 시트에 날짜를 쓰면 일, 월 및 연도가 무시됩니다.
이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();
}
(콘솔)의 출력은 다음과 같습니다
날짜 1이 월 6월 08 그리니치 표준시 11시 14분 45초 + 01 : 00 2009
내 생일이 수요일에 10월 17일 08 : 15 45 GMT + 01 : 00 2007
그리고 세포가 파일을 Excel에서
1900-01-00 10시 14분 46초
1900-01-00 7시 15분 46초
Excel의 시간 부분이 UTC로 수정되고 날짜 부분이 삭제됩니다. 참고 자료에는 표준 시간대 문제가 언급되어 있지만 날짜 폐기에 대해서는 아무런 언급이 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
새 대답을 추가하지 마십시오. 원본을 편집하십시오. – duffymo
또는이 대답을 받아 들여서 당신이 문제를 발견했음을 명확하게합니다 –
방금 전에 저의 비슷한 문제를 해결했습니다 :) –