String fmy_zd_date =sheet.getCell(6, i).getContents().trim();
System.out.println("fmy_zd_date"+fmy_zd_date);
错误异常信息
java.sql.BatchUpdateException: Data truncation: Incorrect date value: '16/09/2010' for column 'fmy_ZD_date' at row 1
如果我处理成这样:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String st=sheet.getCell(6, i).getContents().trim();
System.out.println(st);
String fmy_zd_date = sdf.format(st).toString();
错误异常信息
java.lang.IllegalArgumentException: Cannot format given Object as a Date
excel中数据样式:2010-9-16

解决方案 »

  1.   

    这不是取值的时候错的 而 String fmy_zd_date = sdf.format(st).toString();
    有错误
    估计你这里System.out.println(st);
     能输出正确的字符串吧
      

  2.   

    我在想你是多此一举。
    你从excel中取出来的 变成string了
    为什么还 format成string呢
    你不是要date么
    看看 api啊
      

  3.   

    String fmy_zd_date =sheet.getCell(6, i).getContents().trim();
    这行获得的值 有问题
      

  4.   

    如果我处理成这样:
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String st=sheet.getCell(6, i).getContents().trim();
    System.out.println(st);
    String fmy_zd_date = sdf.format(st).toString();
    错误异常信息
    java.lang.IllegalArgumentException: Cannot format given Object as a Date
    控制台输出的是 16/09/2010 
      

  5.   


    String st=sheet.getCell(6, i).getContents().trim();
    SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yyyy");   
    Date d = sd.parse(st);   
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String fmy_zd_date = sdf.format(d).toString();    
        System.out.println(d); 
        SimpleDateFormat   sdf2   =   new   SimpleDateFormat("yyyy-MM-dd   HH:mm:ss");   
        String   ss   =   sdf2.format(d);   
        System.out.println(ss);