Java 使用ApachePOI设置日期格式

Java 使用ApachePOI设置日期格式,java,date,apache-poi,Java,Date,Apache Poi,我想在带有ApachePOI的Excel文件中以日期格式设置日期。该值将以这样的方式设置,以便在地址栏中显示为mm/dd/YYYY,在单元格中显示为dd mmm(数字日和月缩写:01 Jan)。您可以对需要填充的单元格应用单元格样式。这里是我过去工作中的一些代码片段,它不是完整的,但显示了基本思想: Row row = sheet.createRow(0); Cell cell = row.createCell((short) 0); cell.setCellType(Cell.CELL_TYP

我想在带有ApachePOI的Excel文件中以日期格式设置日期。该值将以这样的方式设置,以便在地址栏中显示为mm/dd/YYYY,在单元格中显示为dd mmm(数字日和月缩写:01 Jan)。

您可以对需要填充的单元格应用
单元格样式。这里是我过去工作中的一些代码片段,它不是完整的,但显示了基本思想:

Row row = sheet.createRow(0);
Cell cell = row.createCell((short) 0);
cell.setCellType(Cell.CELL_TYPE_NUMERIC);

SimpleDateFormat datetemp = new SimpleDateFormat("yyyy-MM-dd");
Date cellValue = datetemp.parse("1994-01-01 12:00");
cell.setCellValue(cellValue);

//binds the style you need to the cell.
CellStyle dateCellStyle = wb.createCellStyle();
short df = wb.createDataFormat().getFormat("dd-mmm");
dateCellStyle.setDataFormat(df);
cell.setCellStyle(dateCellStyle);
    

关于JDK中日期格式的更多信息,您应该阅读以下内容:

谢谢@Gavin。这对我帮助很大。但是我想删除日期的时间戳。在这方面你能帮我吗?你说的“从日期中删除时间戳”是什么意思@SaikatGuptaHi@Gavin:在excel中,单元格日期应显示为“30-JAN”,但如果我选择单元格,地址栏中的日期应显示为“1/30/2013”,而不是“1/30/2013 12:01:00 AM”(无时间戳)。我将单元格值的日期格式更改为“yyyy-MM dd”,您可以根据需要更改格式,格式字符串非常灵活@Saikatgupta我如何告诉它我想要UTC时区?描述“getFormat”方法中可以使用哪些字符的文档在哪里?请注意,“地址栏”格式取决于您的区域设置,而不是xls(x)中的任何内容