vc知識積累 2 操作Excel資料庫

2021-05-23 13:17:18 字數 1486 閱讀 6685

操作excel資料庫(從網上收集,直接拷貝過來,稍作整理)

1. 加上如下**,得到對資料庫的支援

#pragma comment( lib, "odbccp32.lib" )

#include

#include

2. 得到excel驅動字串

cstring getexceldriver()

pszbuf = strchr(pszbuf, '/0') + 1;

}while (pszbuf[1] != '/0');

return sdriver;

}3. 開啟已有資料庫

// 檢索是否安裝有excel驅動 "microsoft excel driver (*.xls)"

cstring sdriver = getexceldriver();

if (sdriver.isempty())

// 開啟資料庫

cstring sdsn;

sdsn.format("odbc;driver=;dsn='';dbq=%s", sdriver,filename );

cdatabase database;

database.open(null, false, false, sdsn);

4. 讀取表中資料

crecordset recset(&database);

cstring ssql = "select * from [人員$]";

recset.open( crecordset::forwardonly,ssql,crecordset::readonly);

while (!recset.iseof())

5. 建立資料庫

cstring sdriver = getexceldriver();

cstring ssql;

ssql.format("driver=;dsn='''';firstrowhasnames=1;readonly=false;create_db=/"%s/";dbq=%s",

sdriver, filename, filename );

cdatabase database;

database.openex( ssql,cdatabase::noodbcdialog );

6. 建立表

cstring tablename = "人員";

ssql = "create table " + tablename + " ( name text )";

database.executesql( ssql );

7. 插入新值

ssql.format( "insert into %s ( %s ) values ( '%s' )", tablename, colname, personname );

database.executesql(ssql);

8. 異常處理

trycatch(cdbexception, e)

end_catch;

VC操作Excel檔案

excel 簡單操作其實就是讀和寫,包括新增,刪除,修改 其實和對資料庫進行操作是一樣的,微軟提供了方法 1.首先獲得計算機內已經安裝的驅動名稱 sqlgetinstalleddrivers szbuf,cbbufmax,cbbufout 引數1 是字串,它將獲得所有驅動名稱,中間以null分隔,第...

VC操作Excel複製行

colevariant covtrue short true covfalse short false covoptional long disp e paramnotfound,vt error workbooks wbsmybooks workbook wbmybook worksheets w...

VC 利用ADO操作Excel

把excel當做資料庫來操作,步驟如下 1 在stdafx.h中加入 import c program files common files system ado msado15.dll no namespace rename eof adoeof connectionptr pcon ex cst...