VC利用ADO操作Ecel分析和总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

VC利用

VC利用ADO操作Excel

把Excel当做数据库来操作,步骤如下:

1、在stdafx.h中加入#importc:/programfiles/commonfiles/system/ado/msado15.dllno_namespacerename(EOF,adoEOF)

2、在工程的App类的构造函数中打开要操作的Excel表格

_ConnectionPtrpCon_ex;CStringConnectionString;

CToolsApp::CToolsApp()

{

CStringm_strAppPath=_T();CStringexcel_path=_T();CStringcon_str=_T();

//程序所在目录路径

TCHARexeFullPath[MAX_PATH];GetModuleFileName(NULL,exeFullPath,MAX_PATH);

CStringstr;str.Format(%s,exeFullPath);

m_strAppPath=str.Left(str.ReverseFind(//));

excel_path=m_strAppPath+//Database+//新全国图数据统计模版--.xls;

CoInitialize(NULL);

//打开excel

/*HDR=Yes;表示工作表的第一行是表头,没有数据。HDR=No;与之相反。IMEX=1;告诉驱动程序始终将intermixed数据类型(numbers,dates,strings等等)作为文本型读取。

注意:该选项可能引起Excel工作表写权限的修改。如果想写入数据,创建新表等必须使

其为0*/

ConnectionString=_T(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=);ConnectionString+=excel_path; //excel file name

ConnectionString+=_T(;ExtendedProperties=/Excel8.0;HDR=Yes;IMEX=0/);

BSTRresultsString=ConnectionString.AllocSysString();pCon_ex.CreateInstance( uuidof(Connection));

resultsString=ConnectionString.AllocSysString();pCon_ex-Open(resultsString,,,adModeUnknown);

}

3、从Excel中读数据

读数据比较简单,可以使用SQL查询语句来找到自己感兴趣的记录。

CStringstrSQL=_T();

_RecordsetPtr pRst( uuidof(Recordset)); //数据集

_RecordsetPtr Rs1( uuidof(Recordset)); //数目集

strSQL=select*from[道路$]where城市like%+str_city+%;//[道路$]

为sheet的名称

pRst=(((CDataManaApp*)AfxGetApp())-pCon_ex)-Execute((_bstr_t)strSQL,NULL,adCmdText); //指定的城市

CStringsql=_T();

sql=select count(*)asgeshufrom[道路$]where城市like%+str_city+%;

Rs1=(((CDataManaApp*)AfxGetApp())-pCon_ex)-Execute((_bstr_t)sql,NULL,adCmdText);

_variant_t vCount=Rs1-GetCollect(geshu);intnum1=vCount.lVal; //符合条件的记录个数

pRst-MoveFirst(); //只读取第一行

_variant_tt=_variant_t(long(6));

result=(LPCSTR)_bstr_t(pRecordset-GetCollect(t));//以列序号的方式来读取字段内容 0based

result=(LPCSTR)_bstr_t(pRecordset-GetCollect(人口));//以字段名的方式来读字段内容

4增加新行以及填写某个cell

_RecordsetPtrm_pRecordset;m_pRecordset.Creat

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地湖北
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档