专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 其他数据库

急求vc读取Excel错误有关问题

发布时间:2010-05-24 21:31:18 文章来源:www.iduyao.cn 采编人员:星星草
急求vc读取Excel异常问题
在网上找的代码,vc操作读取Excel文件,
CDatabase database; 
  CString sSql; 
  CString sItem1,sItem2,sItem3; 
  CString sDriver; 
  CString sDsn; 
  //CString sFile = "Demo.xls "; // 将被读取的Excel文件名 
   
  // 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls) "  
  sDriver = GetExcelDriver(); 
  if (sDriver.IsEmpty()) 
  { 
  // 没有发现Excel驱动 
  AfxMessageBox( "没有安装Excel驱动! "); 
  return; 
  } 
   
  // 创建进行存取的字符串 
  sDsn.Format( "ODBC;DRIVER={%s};DSN='''';DBQ=%s ",sDriver,sFile); 

  TRY 
  { 
  // 打开数据库(既Excel文件) 
  database.Open(NULL, false, false, sDsn); 
   
  CRecordset recset(&database); 

  // 设置读取的查询语句. 
  //sSql = "select name,value from demo;"; 
sSql = "SELECT name, value "  
  "FROM demo "  
  "ORDER BY Name "; 

   
  // 执行查询语句 
  recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly); //??????????????????????

  // 获取查询结果 
  while (!recset.IsEOF()) 
  { 
  //读取Excel内部数值 
  recset.GetFieldValue( "name", sItem1); 
  recset.GetFieldValue( "value ", sItem2); 
AfxMessageBox(sItem1);
AfxMessageBox(sItem2);
//recset.GetFieldValue( "部门 ", sItem3); 

  // 移到下一行 
  recset.MoveNext(); 
  } 

  // 关闭数据库 
  database.Close(); 
AfxMessageBox("ok import");
   
  } 
  CATCH(CDBException, e) 
  { 
  // 数据库操作产生异常时... 
  AfxMessageBox( "数据库错误: " + e-> m_strError); 
  } 
  END_CATCH; 
总是有一句过不了啊:// 执行查询语句 
  recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly); //??????????????????????

不知道什么原因?
现在的异常是:Microsoft Jet 数据库引擎找不到对象'demo'。请确定对象是否存在,并正确地写出它的名
称和路径。
网上操作Excel都是这个代码,难道大家都能顺利通过吗?

------解决方案--------------------
select name,value from [sheet1$]

这儿是worksheet的名字,不是文件名。
------解决方案--------------------
探讨
非常感谢您啊,我已经解决了,是自己太粗心了,谢谢您了。怎么给分啊
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: