Неправильный формат даты при использовании apache poi DataFormatter в ячейке

Я использовал Apache Poi DataFormatter класс для получения даты, такой же, как указано в листе Excel. Но в приведенном ниже случае это не удается.

Например, если я приведу дату 19/9/2017, то получится 19.09.17.

Я использовал код ниже, чтобы получить значение даты, такое же, как указано в листе Excel.

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

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, может быть, вы можете адаптировать мой код, чтобы ваш работал

Другие вопросы по тегам