我正在使用Apache POI 3.9并使用SXSSF创建一个大型excel文件(.xlsx),在该excel文件中,我有1个日期列,我想格式化,但它不起作用 .
旧代码(POI 3.7):
HSSFCellStyle dateStyle = wb.createCellStyle();
dateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("d-mmm-yy"));
新代码(POI 3.9):
CellStyle dateStyle = wb.createCellStyle();
dateStyle.setDataFormat((short)BuiltinFormats.getBuiltinFormat("d-mmm-yy"));
所以代码非常相似,只是我现在使用SXSSFWorkbook和Sheet和Cell而不是HSSF对象 .
这是输出:
旧:
20-Feb-13
新:
Feb 20, 13
如您所见,日期格式错误 .
任何帮助,将不胜感激 .
新代码中的额外代码段:
SXSSFWorkbook wb = new SXSSFWorkbook(100);
wb.setCompressTempFiles(true);
CreationHelper helper = wb.getCreationHelper();
Cell cell = row.createCell(y);
cell.setCellValue( (java.util.Date)rows1[x][y] );
cell.setCellStyle(dateStyle);