OK, the first step I have got now, and to be honest, I did not tell the whole truth about my code, because I did not think of the missing part being of special meaning :-(
In fact I "reused" _one_ HSSFCellStyle object and tried to give it another DataFormat any time I use it. But there does not seem to be any change any more after the first setting... Now I prepare 3 HSSFCellStyle objects, one for String, Number and Date each. And oops, it works -- at least I get something like "d-mmm-yy" like you say (or "10 Jun. 44" in the example). But now the desired format "DD.MM.YYYY" (for example: "10.04.1944") is still open, since this is not predefined. A sample sheet is attached (I hope it is passed through the listserv). It was generated using MS Excel2000 deDE on W2KSP4 deDE. Regards, Christian On Tuesday, November 15, 2005 5:45 PM [GMT+1=CET], Laubach Shawn Contr 327 CSSG/GFSL <[EMAIL PROTECTED]> wrote: > That's add as the data format 15 DEC is really "d-mmm-yy". Would it > be possible to attach an example sheet along with a list of a cell or > two that has that particular format. > > Shawn > > -----Original Message----- > From: Christian Gosch [mailto:[EMAIL PROTECTED] > Sent: Tuesday, November 15, 2005 10:36 AM > To: POI Users List > Subject: POI 2.5.1 final: Date value formatting to 'DD.MM.YYYY' > > Hi, > > I cannot successfully format a cell with "DD.MM.YYYY" nor with any > other date format. All I get is "#.##0" number format for the cells. > How can I achieve "DD.MM.YYYY" formatting? > > POI version: 2.5.1 final (this is fairly old, but there does not seem > to be any newer "final" version :-( ) > > > Code sample: > > // font for rows: > HSSFCellStyle borderdFormat = workbook.createCellStyle(); > // borderdFormat.setBorderTop( HSSFCellStyle.BORDER_HAIR); // > should be... > // borderdFormat.setBorderBottom( HSSFCellStyle.BORDER_HAIR); > // should be... > borderdFormat.setBorderTop( HSSFCellStyle.BORDER_DOTTED); // > ...but is not (!) > borderdFormat.setBorderBottom( HSSFCellStyle.BORDER_DOTTED); > // ...but is not (!) > [...] > else if (data instanceof Date) { > // data is of type Date > log.debug("XLS-DL: Date: xlsZeile = " + xlsZeile + " > spalte = " + spalte + " value = " + data + " class = " + > data.getClass()); > borderdFormat.setDataFormat((short)15); > label.setCellValue( ((Date)data)); > label.setCellStyle(borderdFormat); sdata = > data.toString(); } > > The log.debug(...) output is like: > XLS-DL: Date: xlsZeile = 1 spalte = 10 value = 1944-04-10 01:00:00.0 > class = class java.sql.Timestamp > > The resulting cell value display in Excel2000 (deDE in W2KSP4 deDE) > is: > 16.172 > > > which would be the result of formatting "10.4.1944" or "Apr. 10, > 1944" with "#.##0". > > > What am I doing wrong? > > regards, Gruesse, -- Dipl.-Inform. Christian Gosch Systems Development inovex GmbH Karlsruher Strasse 71 D-75179 Pforzheim Tel.: +49 (0)72 31 - 31 91 - 85 Fax: +49 (0)72 31 - 31 91 - 91 mailto:[EMAIL PROTECTED] http://www.inovex.de
--------------------------------------------------------------------- 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/
