很奇怪的事情,我把Excel里面的数据导入到DataTabel中有的数字类型的值可以获取到,但有的数字类型的值获取不到。郁闷啊。请高手指点!

解决方案 »

  1.   

    不是取不到值,很有可能是excel中的列是字符串和数值类型混合的原因,你可以把excel中的数据设置成一种类型,也可以通过程序处理
      

  2.   

    这个应该是字符串和数值混合导致的
    导入DataTable的时候,会根据你的Excel里面值的内容生成DataTable列的数据类型
    修改你Excel列的类型或者调用Excel的组件来导入
      

  3.   

    这是很正常的,microsoft sql server对其自己的microsoft excel都支持的不是非常好。在将一个excel文件导入数据库的过程中,一些excel中定义了格式的字段类型sqlserver都会读错,而且你不能修改数据类型,否则也难以成功。建议还是不要使用excel,用txt,使用bcp导入吧。
      

  4.   

    这是由于连接串的写法引起的,楼主可以按照下面的样式改动一下你的连接串:
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + "; Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
    特别要注意Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'这里的写法,单引号不要漏掉了!