我正在尝试从电子表格中读取日期列和时间列。我可以从工作表中删除日期列,但不能从时间列中删除。
例如,我的工作表将具有以下形式的行:
约会时间
2012 年 11 月 2 日 12:15:01
我有以下代码来获取日期列:
while(cellIterator.hasNext()) {
HSSFCell cell = (HSSFCell)cellIterator.next();
switch(cell.getCellType()){
case HSSFCell.CELL_TYPE_NUMERIC:
HSSFCellStyle style = cell.getCellStyle();
if (HSSFDateUtil.isCellDateFormatted(cell))
{
d = (Date)getDateValue(cell);
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");
System.out.println(dateFormat.format(d));
}
}
}
protected static Object getDateValue(HSSFCell cellDate)
{
double numericDateValue = cellDate.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(numericDateValue);
return date;
}
如您所见,我使用
HSSFDateUtil.isCellDateFormatted(单元格)
检查单元格中是否有日期值。我想知道我是否可以使用任何函数检查单元格是否具有时间值。
excel 工作表来自外部来源。因此,我将无法对其格式进行任何修改。
现在,我得到了日期列的正确日期值。但是,对于时间列,我得到
1899 年 12 月 31 日
作为所有行的结果