将数据库中的date导入到Excel工作表中

我试图获得一个数据库数据,并将数据传递到一个Excel表,但问题是,我有一个date格式的数据库列,当我把它传递到Excel它给我这样的数字41793,这里是我的代码的一个pice:

for (Defect defect : r5Defects) { r = s.createRow(rowNum++); r.createCell(0).setCellValue(defect.getId()); ... r.createCell(5).setCellValue(HSSFDateUtil.getExcelDate(defect.getCreated())); ... } 

我该怎么做才能避免这个问题呢?

我已经创build了下面的方法,它工作正常:

 HSSFCellStyle cellStyleDate = (HSSFCellStyle) wb.createCellStyle(); cellStyleDate.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy")); public void cell(Workbook wb, Row r, Date value,HSSFCellStyle cellStyleDate, int n) { HSSFCell cell = (HSSFCell) r.createCell(n); cell.setCellStyle(cellStyleDate); cell.setCellValue(value); }