先确定你excel没有打开这个xls文件(最好把excel关了)。
Sheet1中确定没有空行和空列。根据实际经验,你可以选中你的内容(别Ctrl+A,这样可能把空行或空列也复制了)到另外一个Sheet中。

解决方案 »

  1.   

    这不SQL语句的问题,应该是机子配置的问题.难道真的没人知道吗?
      

  2.   

    c:\test.xls 这个文件要存在才可以。
    我以前也用过,如果文件不存在,就会报这个错。
      

  3.   

    c:\test.xls 这个文件真的存在.
      

  4.   

    把这个去掉--PersistSecurityInfo=False,应该就可以了
      

  5.   

    去掉--PersistSecurityInfo=False
    也不行啊!
      

  6.   

    没有关闭EXECL文件,或文件不在同一台机上就有这个问题!请检查
      

  7.   

    大家的建议都检查过,然后把这语句中多余的空格去掉:SELECT * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";Extended Properties="Excel 8.0";')...[Sheet1$]。
      

  8.   

    exec master..xp_cmdshell 'bcp SqlDbName.dbo.sqlTbName out Excel(FileName.xls) -c -q
      -s(sever) -u(user) -p(Pwd)
    SQLServer数据库的一个表导出到Excel的代码
      

  9.   

    我也碰到与你一样的问题,英文版WIN2003SERVER+英文版SQL SERVER2000,我在其他机器上运行是对的,就在这台机器不行,报的错是一样的