当前位置: 首页 > 知识库问答 >
问题:

说明Apache poi如何读取日期单元格

越源
2023-03-14

如何让apache poi以正确的格式读取日期?

下面是我的代码示例:

                           case Cell.CELL_TYPE_NUMERIC:
                                if (DateUtil.isCellDateFormatted(cell)) {
                                    Date d = cell.getDateCellValue());
                                    System.out.println(myWorkBook.getSheetName(i) + "  " + cell.getNumericCellValue() + "\t");
}

共有1个答案

通沛
2023-03-14

正确的方法是使用getDataFormatString,正如在本答案中所做的那样,验证excel日期为MM/DD/YYYY格式,但内置格式是有限的。

如果内置格式的限制使您感到困扰,则可以通过Data formatter将值转换为字符串

DataFormatter formatter = new DataFormatter();
String formattedValue = formatter.formatCellValue(cell);

日期字段的验证已经从Excel文件中执行,如果日期的格式不正确,则作为字符串读取。

 类似资料:
  • 我有一个巨大的excel文件,其中包含大量列,如下所示:- 当我打印excel中的所有值时,我的代码生成的输出是:- 所以,如果我们看看上面的输出,我们可以注意到我留下空白值的单元格没有被POI库拾取。有没有一种方法可以让这些值为空?还是一种识别所呈现的值跳过空白单元格的方法? 请注意:我使用的不是usermodel(org.apache.poi.ss.usermodel),而是一个事件API来处

  • 我有一个带有sheet1 excel文件,该文件的第2行和第10列有一个我需要读取的值。这是我的代码。 获取了cell对象Excel.Range后,我不知道如何读取该单元格的内容。我试着把它转换成数组并在它上面循环,我试着转换成字符串数组等等,我确信这是非常简单的。有没有直接的方法只得到一个字符串的单元格值?

  • 问题内容: 在我的Android应用程序中。我需要显示明天的日期,例如今天是3月5日,所以我需要显示3月6日。我知道获取今天日期,月份和年份的代码。 日期计算 如果我有代码 它会显示明天的日期。或仅将一个添加到今天的日期?例如,如果今天是1月31日。使用上面的代码,它将显示为1还是32?如果显示32,我需要进行哪些更改? 问题答案: 以获取今天的日期。 添加1天。 用于显示的格式。 例如,

  • 问题内容: 我正在使用Apache POI库读取Excel文件。我在读取密码单元时被卡住了。如果用户在密码单元格中输入日期作为密码,即16/05/2012。我正在将此值读取为“ 41045”,而该值应为“ 16/05/2012”。这是我的代码: 有人可以帮忙吗? 谢谢。 问题答案: 您在POI中寻找的类是DataFormatter 当Excel写入文件时,某些单元格将存储为文字字符串,而另一些单元

  • 问题内容: 我将POI HSSF API用于Java中的excel操作。我在一个excel单元格中有一个日期值“ 8/1/2009”,当我尝试使用HSSF API读取此值时,它将检测到单元格类型为数字并返回我的日期的“双精度”值。请参见下面的示例代码: Cell.getCellType()返回NUMERIC_TYPE,因此此代码将日期转换为两倍!:( 有什么方法可以读取HSSF POI中的日期!