繁体   English   中英

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

[英]Getting wrong date Format while using apache poi DataFormatter on cell

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

例如,如果我将日期指定为 2017 年 9 月 19 日,则它会变为 17 年 9 月 19 日。

我使用下面的代码来获取与 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 也许您可以调整我的代码以使您的代码正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM