我使用 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打印
。也许您可以调整我的代码以使您的代码正常工作。19/9/2017
/09/2017
关于java - 在单元格上使用 apache poi DataFormatter 时出现错误的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44003023/