怎样用在vc中用ado打开一个excel数据文件?怎样得到表的个数及所有表名?

caohoujie 2004-10-27 04:54:33
如题,谢谢
...全文
181 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Badwood 2004-11-19
  • 打赏
  • 举报
回复
不知道还有人关注这个帖子没有, 我最近做了一些这方面的工作,楼主的问题能解决,但是却有新问题。
先解决楼主的问题吧,代码只是截取,没有做错误检查,也没做初始化:
先打开excel文件:

_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(_uuidof(Connection));
m_pConnection->Open("Driver={Microsoft Excel Driver(*.xls)};DriverId=790;Dbq=c:\\book1.xls;DefaultDir=c:\\;readonly=false")

然后用OpenSchema取得表名
_RecordsetPtr tables = m_pConnection->OpenSchema(adSchemaTables);
FieldPtr pFld = NULL;
_variant_t vIndex;
vIndex = (short)0;
for(int i=0;i<tables->RecordCount;i++)
{
pFld = tables->Fields->GetItem("TABLE_NAME");
_variant_t FldVal = pFld->GetValue();
CString tname = (LPCSTR)(_bstr_t)FldVal.bstrVal;
tname.Replace("'","");
m_Tables.AddString(tname);
tables->MoveNext();
}

我的问题是:对数据进行更新后excel文件大小会翻倍,并且无法打开。打开该文件时excel崩溃。
vzxq 2004-11-01
  • 打赏
  • 举报
回复
help up
caohoujie 2004-10-28
  • 打赏
  • 举报
回复
upuo
JohnShen 2004-10-28
  • 打赏
  • 举报
回复
一个ADO连接EXCEL的连接串如下,请参考:
"Driver={Microsoft Excel Driver (*.xls)};" & _
          "DriverId=790;" & _
          "Dbq=c:\somepath\mySpreadsheet.xls;" & _
          "DefaultDir=c:\somepath;"
caohoujie 2004-10-27
  • 打赏
  • 举报
回复
up
相关推荐
发帖
其他数据库

2202

社区成员

其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
帖子事件
创建了帖子
2004-10-27 04:54
社区公告
暂无公告