2013-01-14 198 views
14

我想使用Apache POI在Excel文件中设置日期格式的日期。该值将以这种方式设置,以便在地址栏中以mm/dd/YYYY显示,并在单元格中以dd-mmm显示(数字中的日期和01中的月份中的月份)。在这种情况下你能帮助我吗?使用Apache POI设置日期格式

回答

17

您可以将HSSFCellStyle应用于您需要填写的单元格。在这里,从我过去的工作的一些代码片段,它不完整,表示的是基本的想法:

HSSFRow row = sheet.createRow(0); 
HSSFCell cell = row.createCell((short) 0); 
cell.setCellType(HSSFCell.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. 
HSSFCellStyle dateCellStyle = wb.createCellStyle(); 
short df = wb.createDataFormat().getFormat("dd-mmm"); 
dateCellStyle.setDataFormat(df); 
cell.setCellStyle(dateCellStyle); 

的介绍:关于JDK日期格式,你应该阅读:http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

+0

感谢@Gavin。这对我帮助很大。但我想从日期中删除时间戳。在这方面你能帮助我吗? – sairajgemini

+0

“从日期中删除时间戳”是什么意思? @SaikatGupta –

+0

Hi @Gavin:在Excel单元格中日期应该显示为“30-JAN”,但是如果我选择单元格,地址栏中的日期应该显示为“1/30/2013”​​而非“2013年1月30日” :01:00 AM“(没有时间戳) – sairajgemini