我正在尝试获取数据库数据并将数据传递到Excel工作表中,但问题是我在DB中有一个日期格式的列,当我将它传递给excel时,它给了我这样的奇怪数字41793,这是我的代码的一部分:
for (Defect defect : r5Defects) {
r = s.createRow(rowNum++);
r.createCell(0).setCellValue(defect.getId());
...
r.createCell(5).setCellValue(HSSFDateUtil.getExcelDate(defect.getCreated()));
...
}
我该怎么做才能避免这个问题?
答案 0 :(得分:1)
我创建了以下方法,它运行正常:
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);
}