可能是驱动有问题,网上搜下驱动重新安装下,或者用ADO助手试试你的数据库连接字符串和SQL语句。 
OPENROWSET默认是不开启的,需要手动开启。
EXCEL的连接字符串大概如下。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\ZhangYiQuan\Documents\Demo.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";

解决方案 »

  1.   

    已经解决了!是sql server 2005的Microsoft.Jet.OLEDB.4.0接口没有设置属性,还有我把sql server语句也改了,现在是:CString sql;
    sql.Format("insert into 拣货表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=%s',%s$)",m_strDescPath,Table);
    m_sqlink->m_pConnection->Execute((_bstr_t)sql,NULL,-1);
      注释:m_strDescPath是文件的绝对路径,Table是execl的页表名。
    这个是MFC利用ado链接数据库,并把execl中的数据导入数据库的代码,希望后续有人需要可以有帮助。