1

我正在使用 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) 方法调用日期和非日期列的默认格式

4

1 回答 1

0

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

cell.setCellStyle(cs);

然后应用其他一些样式:

cell.setCellStyle(thickBorderStyle)

您将删除日期格式

于 2020-08-11T03:27:00.580 回答