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

caohoujie 2004-10-27 04:54:33
如题,谢谢
...全文
191 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧