打开文档时,setCellFormat会覆盖Jxl CellType

时间:2012-08-16 10:52:26

标签: format jxl

我使用Jxl(v2.6.10)库生成xls文档。我想格式化DateTime单元格。 如果不使用单元格格式,则一切正常:

WritableCell wc = new jxl.write.DateTime(5, 5, new java.util.Date()); 
sheet.addCell(wc); 

在文档中,单元格具有日期格式,并显示为“8/16/2012”。 但是当我补充说:

WritableCell wc = new jxl.write.DateTime(5, 5, new java.util.Date()); 
wc.setCellFormat(new WritableCellFormat());
sheet.addCell(wc); 

然后只显示“41137.4459694444”(我使用了LibreOffice,但它与Google文档相同)。当我在电子表格中手动更改单元格格式时,数字将按预期转为8/16/2012。

我认为setCellFormat会覆盖wc.getCellType(),但事实并非如此:

jxl.write.DateTime wc = new jxl.write.DateTime(5, 5, new java.util.Date());
System.out.println(wc.getType());
wc.setCellFormat(new WritableCellFormat());
System.out.println(wc.getType());
wc.setDate(new java.util.Date());
System.out.println(wc.getType()); 

的产率:

Date
Date
Date

我想知道这里发生了什么,因为现在我很困惑。

0 个答案:

没有答案