CString sFile = "C:\\credit.xls ";// 将被读取的Excel文件名  
看看你文件存在吗?文件名称对吗?Sql = "SELECT * FROM credit ";  这个里面的credit 有这个表? Sheet名称?

解决方案 »

  1.   

    路径和表名都对,我找到原因了,我用的是Excel2007,改成Excel2003的表就可以了。谢谢你了
      

  2.   

    提醒楼主结贴!
    我以前也遇到过类似的问题:用ODBC读取mdb(Access 2003)是没有问题的,后来把mdb改为accdb(Access 2007),就一直有问题。开始还以为ODBC不支持07,后来才发现,连接字符串中Jet引擎的版本号不能再用03的,要改用07的才行。
      

  3.   

    我也在使用这段代码,但运行到//读取Excel内部数值 
     recset.GetFieldValue( "Name ",   sItem1); 时,总是抛出异常,你知道怎回事吗
      

  4.   

    不知道你们说什么,这个和excel版本怎么可能有关系?
      

  5.   

    你好,想问一下void   CQueryView::ReadExcel()放在哪个文件夹下?包含该类的头文件是什么?
      

  6.   

    单元格格式要是文本,表名在SQL语句中最好加上后缀sheet1$这样就不会错了。
      

  7.   

    //   设置读取的查询语句 
    sSql   =   "SELECT   *   FROM   credit   "; 
    把上面这语句改为:
    sSql   =   "SELECT   *   FROM   [credit$]   ";