csv文件中的日期表示将被更改

时间:2013-08-06 11:09:13

标签: spring apache-poi xssf poi-hssf

当我将xls / xlsx转换为csv而不是csv文件日期将于11月11日00:00:00 IST 1988.但我需要yyyy-mm-dd格式。我可以在以下代码中做什么: [代码]

            row = (HSSFRow) rowIterator.next();

            // For each row, iterate through each columns
            Iterator<Cell> cellIterator = row.cellIterator();
            while (cellIterator.hasNext()) {

                cell = (HSSFCell) cellIterator.next();
                    if(cell.getCellType() == Cell.CELL_TYPE_NUMERIC)
                    {
                        if(HSSFDateUtil.isCellDateFormatted(cell))
                        {

                            data.append(cell.getDateCellValue() + "|");

                        }else
                            data.append(cell.getNumericCellValue() + "|");
                    }else if(cell.getCellType() == Cell.CELL_TYPE_BOOLEAN)
                    {
                        data.append(cell.getBooleanCellValue() + "|");
                    } else if(cell.getCellType() == Cell.CELL_TYPE_STRING)
                    {
                        data.append(cell.getStringCellValue() + "|");
                    }  
                    else if(cell.getCellType() == Cell.CELL_TYPE_BLANK)
                    {
                        data.append("" + "|");
                    }
                    else
                    {
                        data.append(cell + ",");

                    }
            }data.append("\r\n");

1 个答案:

答案 0 :(得分:1)

对于日期格式,请尝试使用日期格式化单元格中的条件。

if(HSSFDateUtil.isCellDateFormatted(cell))
      {
     // data.append(cell.getDateCellValue() + "|");
      SimpleDateFormat DtFormat = new SimpleDateFormat("yyyy-mm-dd");
      Date date=Test.getRow(RowNum).getCell(CellNum).getDateCellValue();
      data.append(date);
      }