Hi Jaypee-
I've played with this Excel stuff a bit...
I am enclosing a method that will convert the "internal
representation (e.g. 38472) to the date format you want
(e.g. 5/1/2005).
Please send me a note and let me know if this works for you
-Ric
([EMAIL PROTECTED])
==============================
public static final int[] days_b4_month = { // Don't forget to check for
leap year!
0,
31,
31+28,
31+28+31,
31+28+31+30,
31+28+31+30+31,
31+28+31+30+31+30,
31+28+31+30+31+30+31,
31+28+31+30+31+30+31+31,
31+28+31+30+31+30+31+31+30,
31+28+31+30+31+30+31+31+30+31,
31+28+31+30+31+30+31+31+30+31+30,
31+28+31+30+31+30+31+31+30+31+30+31
};
public static String convert(double excelDate)
{
boolean leap_day = false;
int month = 0;
int day = 0;
int date = (int) excelDate;
int yr = (int) (excelDate / 365.25);
int year = yr + 1900;
int yrDay = (int) excelDate - (yr * 365 + (int) (yr / 4));
if ((yr % 4) == 0) // Leap years. (N.B. this algorithm will be
inaccurate after 2099!)
{
if (yrDay == 59) // It's Feb 29! - Special case
leap_day = true;
else if (yrDay < days_b4_month[2])
yrDay++; // Compensate for leap day.
}
if (leap_day)
{
month = 2;
day = 29;
}
else
{
month = 0; // start in January.
while (days_b4_month[month] < yrDay)
month++;
day = yrDay - days_b4_month[month-1];
}
String ret = new String(month + "/" + day + "/" + year);
return ret;
}
-----Original Message-----
From: KHZ (SAW) [mailto:[EMAIL PROTECTED]
Sent: Friday, July 15, 2005 4:17 AM
To: 'POI Users List'
Subject: AW: How to read data as it appears in the excel sheet.........
Hi Jaypee.
The internal representation is 38473. This is the sequence number of the
day starting at 1.1.1900 (+/-1). Look at threads having "date" in the
subject. There such things are intensively discussed.
So you want to achieve the same external representation and thus need
data formatting which is "normal" Java. So look at the J2SE
documentation of SUN - most probably in the classes java.util.Date or
String or similar classes.
The setting and getting data formats of a cell in POI is just used for
forcing Excel to show the data later as wanted.
Regards, Karl-Heinz.
-----Ursprüngliche Nachricht-----
Von: news [mailto:[EMAIL PROTECTED] Im Auftrag von jaypee
Gesendet: Freitag, 15. Juli 2005 09:20
An: [email protected]
Betreff: How to read data as it appears in the excel sheet.........
Hi Everyone,
I am trying to read(just read) the data from an excel sheet column.
The problem is, that particular column is formatted as "d/m/yy;@".
When i
read a cell in that column, it returns the alias value(eg., 38473) but
not the
actual value(eg., 5/1/05).
How can i read the actual value(ie., 5/1/05) which is appears in
that cell?
I am using Version : POI api 2.5.1.
Thanks in advance,
Jaypee
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/