select * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="C:\Documents and Settings\Administrator\桌面\t.xls";User ID=admin;Password=;Extended properties=Excel 8.0')...sheet1$select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=2;DATABASE=C:\Documents and Settings\Administrator\桌面\t.xls',sheet1$)t.xls中数据
C1 C2 C3 C4
A 2 A 4
1 B C D
C 1 D A
a c 1 1查询结果
C1 C2 C3 C4
A 2 A 4
NULL NULL C NULL
C 1 D NULL
a NULL NULL 1好好的数据怎么都NULL了,郁闷,那个朋友能解释一下吗?

解决方案 »

  1.   

    SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;DATABASE=C:\Documents and Settings\Administrator\桌面\t.xls',[Sheet1$])
      

  2.   

    t.xls中数据  
    C1      C2       C3        C4  
    A       2         A        4  
    1       B         C        D  
    C       1         D        A  
    a       c         1        1  
     
    查询结果  
    C1      C2      C3      C4  
    A       2       A        4  
    NULL   NULL     C       NULL  
    C       1       D       NULL  
    a      NULL    NULL      1  
      

  3.   

    在用opendatasource , openrowset 时要小心数据类型的变化,'A'是字符,但2在转换中会被认为是数字,要解决这个问题在EXCEL中把数据设置为文本
      

  4.   

    select * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="C:\Documents and Settings\Administrator\桌面\t.xls";User ID=admin;Password=;Extended properties=Excel 8.0;imex=1')...sheet1$select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=1;DATABASE=C:\Documents and Settings\Administrator\桌面\t.xls',sheet1$)