Apache POI日期格式部分工作

时间:2013-09-24 21:37:13

标签: java excel apache-poi

我正在使用poi 3.8创建excel表

我有一些日期列,我正在使用以下代码

CreationHelper ch = wb.getCreationHelper();
short df = ch.createDataFormat().getFormat("MM/dd/yyyy");
System.out.println(df);
CellStyle cs = wb.createCellStyle();
cs.setDataFormat(df);

Cell cell = sheet.createRow(0).createCell(0);

    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    cell.setCellValue( sdf.parse("04/30/2013") );
    sheet.setColumnWidth(0, 6000);
    cell.setCellStyle(cs);

但问题是poi没有形成一些日期单元格,而不是以“MM / dd / yyyy”格式显示日期,它将日期显示为数字值,如451235

这里要提到的另一件事是我使用预先创建的样式,使用setDataFormat(df)方法调用日期和非日期列的默认格式

1 个答案:

答案 0 :(得分:0)

.setCellStyle(...)的调用不是附加的。也就是说,如果您应用日期格式样式:

cell.setCellStyle(cs);

然后应用其他样式:

cell.setCellStyle(thickBorderStyle)

您将删除日期格式