Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';不能从excel文件导入数据_Java_Date Format_Simpledateformat - Fatal编程技术网

Java Can';不能从excel文件导入数据

Java Can';不能从excel文件导入数据,java,date-format,simpledateformat,Java,Date Format,Simpledateformat,当我尝试从excel文件导入数据时,出现错误(不可解析日期:“18–11–2003”)。无法分析文件中的日期 if(row.getCell(16)!=null){ String dobb=null; Date dob=null; row.getCell(16).setCellType(row.getCell(16).CELL_TYPE_STRING);

当我尝试从excel文件导入数据时,出现错误(不可解析日期:“18–11–2003”)。无法分析文件中的日期

        if(row.getCell(16)!=null){
        String dobb=null;  
        Date dob=null;                            
        row.getCell(16).setCellType(row.getCell(16).CELL_TYPE_STRING);

         dobb=row.getCell(16).getStringCellValue();
         System.out.println(dobb);

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
    try {
         dob = (Date)simpleDateFormat.parse(dobb);//error..... Unparseable date: "18–11–2003"
        System.out.println("dateeee"+dob);

    } catch (ParseException e) {
        e.printStackTrace();
                //dob=new Date();
}

指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是
u002d
的普通破折号

下面是一个使用从问题粘贴的字符串副本的示例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
        try {
            String trouble = "18–11–2003";
            String goodOne = "18-11-2003";
            Date date = simpleDateFormat.parse(goodOne);
            //Date date = simpleDateFormat.parse(trouble);
            System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
            System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));

        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是
u002d
的普通破折号

下面是一个使用从问题粘贴的字符串副本的示例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
        try {
            String trouble = "18–11–2003";
            String goodOne = "18-11-2003";
            Date date = simpleDateFormat.parse(goodOne);
            //Date date = simpleDateFormat.parse(trouble);
            System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
            System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));

        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是
u002d
的普通破折号

下面是一个使用从问题粘贴的字符串副本的示例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
        try {
            String trouble = "18–11–2003";
            String goodOne = "18-11-2003";
            Date date = simpleDateFormat.parse(goodOne);
            //Date date = simpleDateFormat.parse(trouble);
            System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
            System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));

        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

指定的“18–11–2003”日期似乎包含
u2013
Unicode字符,而不是
u002d
的普通破折号

下面是一个使用从问题粘贴的字符串副本的示例:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDate {
    public static void main(String[] args) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
        try {
            String trouble = "18–11–2003";
            String goodOne = "18-11-2003";
            Date date = simpleDateFormat.parse(goodOne);
            //Date date = simpleDateFormat.parse(trouble);
            System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
            System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));

        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

实际日期(
-
)中的字符与日期格式(
-
)中的字符不同

此代码:

public static void main(String[] args) {
    System.out.println((int)'–');
    System.out.println((int)'-');
}
产生以下结果:

8211
45
您可以做以下几件事:

  • 在日期字符串上执行
    replace()
    dateStr=dateStr.replace(“-”,“-”;
    )以将奇怪的连字符替换为实际的ASCII连字符*推荐*
  • 将日期格式从
    “dd–MM–yyyy”
    更改为
    “dd–MM–yyyy”

  • 实际日期(
    -
    )中的字符与日期格式(
    -
    )中的字符不同

    此代码:

    public static void main(String[] args) {
        System.out.println((int)'–');
        System.out.println((int)'-');
    }
    
    产生以下结果:

    8211
    45
    
    您可以做以下几件事:

  • 在日期字符串上执行
    replace()
    dateStr=dateStr.replace(“-”,“-”;
    )以将奇怪的连字符替换为实际的ASCII连字符*推荐*
  • 将日期格式从
    “dd–MM–yyyy”
    更改为
    “dd–MM–yyyy”

  • 实际日期(
    -
    )中的字符与日期格式(
    -
    )中的字符不同

    此代码:

    public static void main(String[] args) {
        System.out.println((int)'–');
        System.out.println((int)'-');
    }
    
    产生以下结果:

    8211
    45
    
    您可以做以下几件事:

  • 在日期字符串上执行
    replace()
    dateStr=dateStr.replace(“-”,“-”;
    )以将奇怪的连字符替换为实际的ASCII连字符*推荐*
  • 将日期格式从
    “dd–MM–yyyy”
    更改为
    “dd–MM–yyyy”

  • 实际日期(
    -
    )中的字符与日期格式(
    -
    )中的字符不同

    此代码:

    public static void main(String[] args) {
        System.out.println((int)'–');
        System.out.println((int)'-');
    }
    
    产生以下结果:

    8211
    45
    
    您可以做以下几件事:

  • 在日期字符串上执行
    replace()
    dateStr=dateStr.replace(“-”,“-”;
    )以将奇怪的连字符替换为实际的ASCII连字符*推荐*
  • 将日期格式从
    “dd–MM–yyyy”
    更改为
    “dd–MM–yyyy”

  • 你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”在java.text.DateFormat.parse(DateFormat.java:357)你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”在java.text.DateFormat.parse(DateFormat.java:357)你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”在java.text.DateFormat.parse(DateFormat.java:357)你能粘贴控制台日志吗?你确定来自excel的日期是dd-MM-yyyy格式吗?是的。。。我在java.text.DateFormat.parse(DateFormat.java:357)上得到了d date lyk这个18-11-200318-11-2003 java.text.ParseException:不可解析的日期:“18-11-2003”