我正在使用 POI HSSF API 在 Java 中进行 excel 操作。我的一个 Excel 单元格中有一个日期值“2009 年 8 月 1 日”,当我尝试使用 HSSF API 读取该值时,它会将单元格类型检测为数字并返回我的日期的“双倍”值。请看下面的示例代码:
cell = row.getCell(); // date in the cell '8/1/2009'
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
cellValue = cell.getRichStringCellValue().getString();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
cellValue = new Double(cell.getNumericCellValue()).toString();
break;
default:
}
Cell.getCellType() 返回 NUMERIC_TYPE,因此此代码将日期转换为 double ! :(
有什么方法可以读取 HSSF POI 中的日期!?
最佳答案
你可以看看:
HSSFDateUtil.isCellDateFormatted()
有关 HSSFDateUtil 的更多详细信息,请参阅 POI Horrible Spreadsheet Format API:
http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFDateUtil.html
它还提供了一些帮助方法来返回 Excel getExcelDate()
和 Java 日期 getJavaDate()
。不过,您需要对不同的日期格式有所警惕...
关于java - 使用 POI HSSF API 从 excel 单元格中读取日期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/861877/