我正在导出Excel文件(.xls),并且导出中的其他数据中有三个日期列。 Excel文件列中的日期值相差一天,我不知道为什么?!?!?! 我已经在Java代码中删除了这些行,并且日期是2013年8月1日,但在Excel文件中,相同的日期显示为2013年7月31日。 我调试了我的代码,日期是8月1日的100%。 那么为什么Excel中的日期是2013年7月31日。相差1天...
在这些方面:
...
case "java.sql.Timestamp":
{
ws.addCell(new jxl.write.DateTime((i), row, new java.util.Date(((java.sqlTimestamp) o).getTime())));
break;
}
...
日期是2013年8月1日。在Excel中写有2013年7月31日.1天不同... 但为什么?你可能有解释吗?
祝你好运
答案 0 :(得分:0)
我有一个解决方案。 首先,我将Excel格式从xsl更改为xslx。 第二,我使用了像这样的CellStyle格式:
CellStyle dateStyle = wb.createCellStyle();
DataFormat df = wb.createDataFormat();
dateStyle.setDataFormat(df.getFormat("dd.mm.yyyy"));
...
case "java.sql.Timestamp":
{
cell.setCellStyle(dateStyle);
cell.setCellValue(new Date(((Timestamp) o).getTime()));
break;
}
现在它正在运作......非常奇怪,因为我不确定为什么......它正在运作......