在POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理。正确的处理方法是先判断单元格的类型是否则NUMERIC类型,然后再判断单元格是否为日期格式,如果是的话,
创建一个日期格式,再将单元格的内容以这个日期格式显示出来。如果单元格不是日期格式,那么则直接得到NUMERIC的值就行了。具体代码如下:
Java代码
- if (HSSFCell.CELL_TYPE_NUMERIC == cell.getCellType()) {
- if (HSSFDateUtil.isCellDateFormatted(cell)) {
- Date d = cell.getDateCellValue();
- DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
- System.out.print(formater.format(d))
- } else {
- double v = cell.getNumericCellValue();
- System.out.print(v)
- }