VC 利用ADO操作Excel

2021-06-07 22:35:34 字數 1304 閱讀 5147

把excel當做資料庫來操作,步驟如下:

1、在stdafx.h中加入#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("eof", "adoeof")

_connectionptr pcon_ex;

cstring connectionstring;

//開啟excel

/*"hdr=yes;" 表示工作表的第一行是表頭,沒有資料。 "hdr=no;"與之相反。

"imex=1;"告訴驅動程式始終將"intermixed"資料型別(numbers, dates, strings等等)作為文字型讀取。

注意:該選項可能引起excel工作表寫許可權的修改。如果想寫入資料,建立新錶等必須使其為0*/

connectionstring = _t("provider=microsoft.jet.oledb.4.0;data source=");  

connectionstring += excel_path;   //excel   file   name  

connectionstring += _t(";extended properties=\"excel 8.0;hdr=yes;imex=0\"");

bstr resultsstring = connectionstring.allocsysstring();

pcon_ex.createinstance(__uuidof(connection));

resultsstring = connectionstring.allocsysstring();

pcon_ex->open(resultsstring,"","",admodeunknown); }

3、從excel中讀資料

讀資料比較簡單,可以使用sql查詢語句來找到自己感興趣的記錄。

prst->movefirst();  //只讀取第一行

_variant_t t = _variant_t(long(6));

result = (lpcstr)_bstr_t(precordset->getcollect(t));//以列序號的方式來讀取字段內容  0based

result = (lpcstr)_bstr_t(precordset->getcollect("人口"));//以欄位名的方式來讀字段內容

4 增加新行以及填寫某個cell

_recordsetptr m_precordset;

m_precordset.createinstance(__uuidof(recordset));

利用ADO操作Excel檔案

今天花時間研究了一下ado操作excel檔案的問題,跟大家分享一下 首先利用excel2003建立了乙個名為demo.xls的檔案,內容如下 name agety 12 tzl15 然後開啟vc,建立乙個命令列應用程式。然後如一般的ado程式一樣編寫相應 只是注意開啟資料庫的 如下寫 m pconn...

利用ADO操作Excel檔案

使用adodb物件可以訪問和操作excel檔案 asp在asp中,使用adodb物件可以訪問和操作excel檔案。下面我們以乙個excel檔案匯入access為例子,簡要看看在asp中使用excel的方法。1 乙個.xls檔案可以看成乙個資料庫,其中的每乙個工作表 sheet 看成資料庫表。2 ac...

VC下使用ADO操作

使用ado sql操作各類資料庫是當前的主流,本人結合自己學習和使用ado開發資料庫的親身經歷,給大家一起分享利用ado開發遇到的常見問題和解決方案。本人開發環境為vc6.0,作業系統windowsxp。運算元據庫,拿最簡單的access來說,不少人使用odbc,本人在學習之初也使用過odbc,但小...