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