DATE(year, month, day)
수식을 셀에 포함하는 xlsx 파일을 사용하고 있습니다. 이 셀은 날짜 형식이므로 Excel/OpenOffice는 적절한 날짜를 표시합니다. 예 : 셀 내용은 '=DATE(2013;1;1)'
이며 다음을 생성합니다. '01.01.2013'
지금까지 - 아주 좋았습니다. 엑셀 날짜() 함수에서 날짜를 읽는 아파치 poi가 잘못된 날짜를 나타냄
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(new File("/home/detlef/temp/test.xlsx")));
XSSFSheet sheet = workbook.getSheet("Sheet A");
XSSFCell cell = sheet.getRow(0).getCell(0);
System.out.println(cell.getDateCellValue());
이 출력됩니다 : 나는 POI 3.9을 사용하고
Sun Dec 31 00:00:00 CET 1899
.
아무도 왜 이런 일이 일어 났는지 말해 줄 수 있습니까?
그것을 할 수있는 방법을 찾았습니다 는if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
CellValue evaluate = evaluator.evaluate(cell);
Date date = DateUtil.getJavaDate(evaluate.getNumberValue());
System.out.println(date);
}
생산하고 그 :
Tue Jan 01 00:00:00 CET 2013
감사 어쨌든. 당신이 설명했다