在单元格上使用 apache poi 数据格式化程序时获得错误的日期格式



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

例如,如果我给出的日期为 19/9/2017,则它为 19/9/17。

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

DataFormatter df = new DataFormatter();
String stringCellValue = df.formatCellValue(cell).toString();
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/09/2017打印19/9/2017。也许你可以调整我的代码来让你的代码工作。

相关内容

最新更新