版主,请教我用OleDbDataAdapter读取Excel中sheet的数据,某列的数据会部分丢失,列的数据格式已设为文本型,有些列却很完整?另外直接采用SQL Server的导入数据,也出现数据丢失的问题,请教如何才能正确读取,或采用什么变通方法,保证数据的完整性?
非常感谢!

解决方案 »

  1.   

    有一种方法,把Excel的Range转换成object的二维数组,然后来处理,不过需要转换
      

  2.   

    你丟失的數據肯定是数值类型的吧,把你的连接Excel的连接字符串改成
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xxxx;Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\""
      

  3.   

    IMEX=1就是说把数值类型当成文字列处理
      

  4.   

    还有就是:
    string mySql = @"SELECT " + xlscolname + " FROM [" + xlssheetname + "A6:M426]";
    string mySql = @"SELECT " + xlscolname + " FROM [" + xlssheetname + "]";
    采用1读取不完整,采用2可完整读取?
    楼上的具体如何转换?非常感谢!
      

  5.   

    string xlsconnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + myxlsfile + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
    我是指定读取数据区域,未包含标题栏
      

  6.   

    谢谢各位!
    数据格式有问题,参考
    http://iask.sina.com.cn/b/1476841.html?from=related
    将有问题的列处理后,可正常导入显示!
      

  7.   

    这个问题确实,查了很多资料,给个参考
      http://hi.baidu.com/shourai/blog/item/40ffed1be75562d3ac6e75ed.html  情况确实是这样的