当我使用 POI 写出日期时,我还会在 Excel 中看到时间。(显示的时间是写入单元格时我机器上的时间)。这是我用过的代码
XSSFCellStyle dateStyle = wb.createCellStyle();
CreationHelper createHelper = wb.getCreationHelper();
dateStyle.setDataFormat(createHelper.createDataFormat().getFormat("dd-mmm-yyyy"));
Calendar cal = Calendar.getInstance();
cal.set(xx.getYear(), xx.getMonthOfYear(), xx.getDayOfMonth());
cell.setCellStyle(dateStyle);
cell.setCellValue(cal);
单元格中的日期是正确的,即 2013 年 12 月 12 日,但对于该单元格,在公式栏中,时间也会显示。因此单元格显示 2013 年 12 月 12 日,公式栏显示 2013 年 12 月 12 日上午 7:14:39。我在 excel 中检查了单元格的格式,它显示为自定义 dd-mm-yyyy,这是我所期望的。太清楚了 - 单元格本身显示 2012 年 12 月 12 日,但对于公式栏中的该单元格,时间也会显示。我还用日期替换了日历——同样的问题。
添加信息:在 excel 中,我将 col 的格式更改为“常规”-对于 POI 添加的单元格,我看到值是 xxx.xxx,例如 41319.3769490278,而当我只是手动输入日期时,值看起来像 41319。看起来小数点后的数字导致时间显示。当我使用 POI 写出来时,不知道如何避免这种情况