I'd rather see an "isDateFormat") in HSSFFormat.

-Andy

Glen Stampoultzis wrote:

>HSSFCell makes sense.  Patch away.
>
>-- Glen
>
>----- Original Message -----
>From: "Jason Hoffman" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Friday, May 03, 2002 10:12 PM
>Subject: Re: Dates!!
>
>
>>Glen,
>>
>>If this method was to be added to POI ( assuming you haven't already
>>done it ) would you have any preference as to its location.  Personally,
>>I think it makes sense in HSSFCell, but wanted to get a blessing before
>>creating the patch.  Any thoughts?
>>
>>Glen Stampoultzis wrote:
>>
>>>Okay, I've done some investigation of this.  Looks like your date has
>>>
>been
>
>>>defined as a custom format.
>>>
>>>Not sure what you can do about that one.  There's really nothing there
>>>except the format string to tell whether it's a date or not and
>>>unfortunately the format string can take many forms.
>>>
>>>Regards,
>>>
>>>Glen
>>>
>>>----- Original Message -----
>>>From: "Agarwal, Vinay (Cognizant)" <[EMAIL PROTECTED]>
>>>To: <[EMAIL PROTECTED]>
>>>Cc: <[EMAIL PROTECTED]>
>>>Sent: Friday, May 03, 2002 2:46 PM
>>>Subject: RE: Dates!!
>>>
>>>
>>>>Yeah sure....
>>>>It's fmc_sample.xls
>>>>
>>>>
>>>>-----Original Message-----
>>>>From: Glen Stampoultzis [mailto:[EMAIL PROTECTED]]
>>>>Sent: Friday, May 03, 2002 9:58 AM
>>>>To: [EMAIL PROTECTED]
>>>>Subject: Re: Dates!!
>>>>
>>>>
>>>>Must be an undocumented format.  Are you able to send a sample
>>>>
>>>spreadsheet?
>>>
>>>>(Either to the list or [EMAIL PROTECTED] if you don't want the whole
>>>>
>world
>
>>>>seeing your workbook).
>>>>
>>>>Thanks,
>>>>
>>>>Glen
>>>>
>>>>----- Original Message -----
>>>>From: "Agarwal, Vinay (Cognizant)" <[EMAIL PROTECTED]>
>>>>To: <[EMAIL PROTECTED]>
>>>>Sent: Friday, May 03, 2002 2:27 PM
>>>>Subject: RE: Dates!!
>>>>
>>>>
>>>>>Date format in excel looks like '01-Jan-94'
>>>>>
>>>>>-----Original Message-----
>>>>>From: Glen Stampoultzis [mailto:[EMAIL PROTECTED]]
>>>>>Sent: Friday, May 03, 2002 9:44 AM
>>>>>To: [EMAIL PROTECTED]
>>>>>Subject: Re: Dates!!
>>>>>
>>>>>
>>>>>What does your date format look like in Excel?
>>>>>
>>>>>-- Glen
>>>>>
>>>>>----- Original Message -----
>>>>>From: "Agarwal, Vinay (Cognizant)" <[EMAIL PROTECTED]>
>>>>>To: <[EMAIL PROTECTED]>
>>>>>Sent: Friday, May 03, 2002 2:13 PM
>>>>>Subject: RE: Dates!!
>>>>>
>>>>>
>>>>>>It doesn't work for me......
>>>>>>Interesting tning is when I add one more case to your list of cases
>>>>>>
>>>,it
>>>
>>>>>>works.
>>>>>>
>>>>>>I added case 165: and it worked....
>>>>>>
>>>>>>Something like this...
>>>>>>
>>>>>>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:
>>>>>>               case 165:         // IT WORKS HERE IN THIS CASE
>>>>>>                   bDate = true;
>>>>>>                   break;
>>>>>>               default:
>>>>>>                   bDate = false;
>>>>>>                   break;
>>>>>>
>>>>>>Any answers to this......
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>-----Original Message-----
>>>>>>From: Hoffman, Jason [mailto:[EMAIL PROTECTED]]
>>>>>>Sent: Thursday, May 02, 2002 6:15 PM
>>>>>>To: '[EMAIL PROTECTED]'
>>>>>>Subject: RE: Dates!!
>>>>>>
>>>>>>
>>>>>>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