Shawn
----- Original Message ----- From: "Sancho Chiang" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, May 06, 2005 5:25 AM
Subject: Problem on custom format on existing worksheet
Hi,
I am currently writing an API for writing list of objects into excel worksheet.
POI works great but when it comes to appending data to an existing worksheet,
existing custom data format cannot be applied to the cells. I found that the
indexes of the existing custom format ain't properly mapped.
I drilled into the source code and I got to the line which I guess it's the
source of the problem.
at HSSFDataFormat.getFormat(String)line:235 --> formats.add( ind, i.next() );
I am new to POI and not familiar with the source code. I guess what the above
code does is to populate the builtin data format into "formats", where custom
formats are already in there. Since it is using add(), the existing custom
formats are pushed to the right of the list if the given index is smaller than
those existing custom formats. That messes up the mapping between index and
data format. I don't know whether it's the problem of my code or a known bug. I
hope some guys who are nice enough to clarify the problem. Thx.
This is the code i used: public static void testDataFormat()throws Exception{ InputStream input = new FileInputStream("players.xls"); POIFSFileSystem fs = new POIFSFileSystem(input); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheet("Sheet1"); HSSFRow row = sheet.createRow(sheet.getLastRowNum()+1); HSSFCell cell = row.createCell((short)0); HSSFCellStyle cellStyle= wb.createCellStyle(); HSSFDataFormat dataFormat = wb.createDataFormat(); short format = dataFormat.getFormat("dd/mm/yyyy"); System.out.println("excelFormat::"+format); cellStyle.setDataFormat(format); cell.setCellStyle(cellStyle); cell.setCellValue(new Date());
FileOutputStream fileOut = new FileOutputStream("players.xls"); wb.write(fileOut); fileOut.close(); }
Regards, Sancho Chiang
--------------------------------------------------------------------- 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/
