java - 在单元格上使用 apache poi DataFormatter 时出现错误的日期格式

标签 java apache-poi excel-2002

我使用 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/

相关文章:

java - 以 .do 结尾的域的包名称

java - 如何根据整数数组的索引查找对象?

java - 如何使用JAVA Apache POI为powerpoint的每张幻灯片的背景设置不同的图像?

java - 如何在 java 中读取 Excel (.xlsx) 文件?

java - 在 Java 中使用 apache poi 使​​用填充和线条格式化图片

excel - Excel中问号的意义是什么?

java - 计算一个巨大的长数组的平均值

java - 为什么java集合框架中没有直接实现Bag?

web-services - 我可以使用什么方法从 VBA 调用 Web 服务?