获取错误的日期在单元格上使用apache poi DataFormatter时格式化

时间:2017-05-16 13:34:35

标签: java apache-poi excel-2002

我使用了Apache poi DataFormatter类来获取与excel表中给出的日期相同的日期。但在下面的案例中,它失败了。

例如,如果我将日期定为19/9/2017,那么它将于19/9/17开始。

我使用下面的代码来获取与excel表中给出的日期值相同的日期值。

DataFormatter df = new DataFormatter();
String stringCellValue = df.formatCellValue(cell).toString();

1 个答案:

答案 0 :(得分:1)

XSSFWorkbook wb     = new XSSFWorkbook(ExcelFileToRead);
XSSFSheet sheet = wb.getSheetAt(0);  
XSSFRow row     = sheet.getRow(0);
XSSFCell cell   = row.getCell((short)0);
short x=wb.createDataFormat().getFormat("dd/m/yyyy;@");
CellStyle dateCellFormat = wb.createCellStyle();
dateCellFormat.setDataFormat(x);

cell.setCellStyle(dateCellFormat);
DataFormatter df = new DataFormatter();
String stringCellValue = df.formatCellValue(cell).toString();
System.out.println(stringCellValue);

此代码为19/12/2017打印19/12/2017,为19/9/2017打印19/09/2017。也许你可以调整我的代码来让你的工作