step1:
取得excel驅動程式,驗證電腦是否安裝了excel驅動程式。
**如下:
cstring creportcharge::getexceldriver()
pszbuf = strchr(pszbuf, '/0') + 1;
}while (pszbuf[1] != '/0');
return sdriver;
}step2:取得匯出檔案的存放路徑和名稱
cfiledialog dlgfileopen(false,null,null,ofn_overwriteprompt | ofn_nochangedir | ofn_explorer,"excel **檔案(*.xls)|*.xls|");
dlgfileopen.m_ofn.lpstrtitle = "匯出資料(世貿**會員管理系統-客戶端)";
int structsize=0;
dword dwversion,dwwindow**ajorversion,dwwindow**inorversion;
//檢測目前的作業系統,getversion具體用法詳見msdn
dwversion = getversion();
dwwindow**ajorversion = (dword)(lobyte(loword(dwversion)));
dwwindow**inorversion = (dword)(hibyte(loword(dwversion)));
// 如果執行的作業系統是windows nt/2000
if (dwversion < 0x80000000)
structsize =88;//顯示新的檔案對話方塊
else
//執行的作業系統windows 95/98
structsize =76;//顯示老的檔案對話方塊
dlgfileopen.m_ofn.lstructsize=structsize;
tchar lpstrfilename[max_path] = "";
dlgfileopen.m_ofn.lpstrfile=lpstrfilename;
if(dlgfileopen.domodal()==idok)
m_filename = filename;
return true;
}else
step3:開始從列表框取得資料,插入excel檔案中。
cstring sdriver1 = getexceldriver();
if (sdriver1.isempty())
cdatabase database;
cstring sdriver = "microsoft excel driver (*.xls)"; // excel安裝驅動
cstring ***celfile,spath;
cstring ssql;
//獲取主程式所在路徑,存在spath中
getmodulefilename(null,spath.getbuffersetlength (max_path+1),max_path);
spath.releasebuffer ();
int npos;
npos=spath.reversefind ('//');
spath=spath.left (npos);
if(!getfilename())
***celfile = m_filename;
try;dsn='';firstrowhasnames=1;readonly=false;create_db=%s;dbq=%s",sdriver, ***celfile, ***celfile);
// 建立資料庫 (既excel**檔案)
if( database.openex(ssql,cdatabase::noodbcdialog) )
catch_all(e)
end_catch_all;
本文所介紹的方法簡單、方便,不足之處在於不能夠設定excel檔案中的列寬。
利用ODBC連線資料庫
例子用到的資料庫是mysql 新增資料來源 建立mfc 基佬於對話方塊的工程odbc 在工程裡新增標頭檔案 include afxdb.h 建立cdatabase類的物件 cdatabase db 接下來就是連線資料庫了,在oninitdialog函式裡新增 判斷資料庫是否開啟 if db.isop...
資料庫互導
1 sqlserver與access互導 方法一 用sql語句 匯出到access insert into openrowset microsoft.jet.oledb.4.0 x a.mdb admin a表 select from 資料庫名.b表 匯入access insert into b表 ...
centos postgresql資料庫匯入匯出
匯入整個資料庫 psql u postgres 使用者名稱 資料庫名 預設時同使用者名稱 data dum.sql 匯出整個資料庫 pg dump h localhost u postgres 使用者名稱 資料庫名 預設時同使用者名稱 data dum.sql 匯出某個表 pg dump h loc...
ODBC資料庫介面(2)
前幾天發了一個不完整版的odbc介面類,昨天重新整理 測試了一下,重新發一個。odbc dbmgr.h ifndef odbc dbmgr h define odbc dbmgr h include include include include class odbc dbmgr odbc dbmg...
oracle資料庫導庫問題
一 dmp導庫過程中,資料量小的表匯入成功,到資料量大的表時開始報錯。發現原庫的表空間是users,匯入新庫後預設表空間是users,根據錯誤提示檢視新庫的的表空間users空間不大。採取源庫 新庫的表空間更換。imp 00058 遇到 oracle 錯誤 1653 ora 01653 表 zrzy...