Okay, here is a little code I used to determine if the cell was a number or
date, and then format appropriately.  I hope it helps.  I keep meaning to
submit a patch with the helper method below.... but just haven't had a
chance.

/////// code snippet ////////////
case HSSFCell.CELL_TYPE_NUMERIC:
                  double d = cell.getNumericCellValue();
                  // test if a date!
                  if (isCellDateFormatted(cell)) {
                    // format in form of M/D/YY
                    cal.setTime(HSSFDateUtil.getJavaDate(d));
                    cellText =
                      (String.valueOf(cal.get(Calendar.YEAR))).substring(2);
                    cellText = cal.get(Calendar.MONTH)+1 + "/" +
                               cal.get(Calendar.DAY_OF_MONTH) + "/" +
                               cellText;
                  }
/////// end code snippet ////////////

// HELPER METHOD BELOW TO DETERMINE IF DATE

// method to determine if the cell is a date, versus a number...
public static boolean isCellDateFormatted(HSSFCell cell) {
    boolean bDate = false;

    double d = cell.getNumericCellValue();
    if ( HSSFDateUtil.isValidExcelDate(d) ) {
      HSSFCellStyle style = cell.getCellStyle();
      int i = style.getDataFormat();
      switch(i) {
        // Internal Date Formats as described on page 427 in Microsoft Excel
Dev's Kit...
        case 0x0e:
        case 0x0f:
        case 0x10:
        case 0x11:
        case 0x12:
        case 0x13:
        case 0x14:
        case 0x15:
        case 0x16:
        case 0x2d:
        case 0x2e:
        case 0x2f:
         bDate = true;
        break;

        default:
         bDate = false;
        break;
      }
    }
    return bDate;
  }

-----Original Message-----
From: Agarwal, Vinay (Cognizant) [mailto:[EMAIL PROTECTED]]
Sent: Thursday, May 02, 2002 5:22 AM
To: [EMAIL PROTECTED]
Subject: Dates!!


Hi, I am not sure if this is a bug .
    I am trying to read a xls file which has a cell with Date format.
    I have used EventExample.java for this purpose. What is happening is
that 
instead of date it returns me a number. I looked at the APIs for DateRecord
but 
there isn't such class. I am just wondering how to get around this problem,I
am 
aware that Excel stores dates as numbers and probably i am getting that
number. 

Why dont we have DateRecord class similar to NumericRecord.

Reply via email to