Apache poi日期格式

嗨我正在阅读csv文件,并在01-01-2011获取日期,但我希望它在2011年1月1日格式,当我使用apache poi库编写.xlsx文件。 我的代码是

XSSFDataFormat df = workBook.createDataFormat(); cs.setDataFormat(df.getFormat("dd-MMM-yy")); 

但它不适合我。 我在哪里做错了。

您不仅需要创建单元格格式,还需要将其应用于单元格!

 XSSFDataFormat df = workBook.createDataFormat(); cs.setDataFormat(df.getFormat("d-mmm-yy")); // Get / Create our cell XSSFRow row = sheet.createRow(2); XSSFCell cell = row.createCell(3); // Set it to be a date Calendar c = Calendar.getInstance(); c.set(2012,3-1,18); // Don't forget months are 0 based on Calendar cell.setCellValue( c.getTime() ); // Style it as a date cell.setCellStyle(cs); 

其次,您需要注意Java和Excel在表达日期格式规则方面略有不同。 您应该打开Excel的副本,根据需要格式化样本单元格,然后记下所需的格式规则。 在你的情况下,你去了一个Java风格的大写M,而在Excel中它是小写的(见上文)