準備工作:新增如下六個excel相關的類:
新增方法:
在class view
工具中選擇add class->mfc->mfc class from typelib->
open->選擇add class from file->location中找到本地安裝excel.exe的路徑
.如c:/program files/microsoft office/office11/excel.exe,
在inte***ces中找到上面的六個類
,新增generated classes中finish,
這樣這六個類就被匯入到工程中了.
1.匯出clistctrl控制項到excel檔案:
clistctrl獲得列的屬性可以使用bool clistctrl::getcolumn( int ncol, lvcolumn* pcolumn ),ncol為需要獲得獲得屬性值的列序號,pcolumn 為 lvcolumn 結構體的指標。lvcolumn結構體中的 uint mask 作為輸入,決定返回哪些屬性的值,如果 mask 的值包含 lvcf_text ,則需要將字串快取的首位址指標置入結構體中的 lptstr psztext; 變數,快取大小置入 int cchtextmax; 變數。
使用這個函式的主要問題是主要問題期望返回 lvcf_text ,設定了 psztext 卻沒有設定 cchtextmax 變數,並且通常都在分配 lvcolumn 結構體空間時將所分配的記憶體清0,因此總是不能返回列名。反而是沒有清0所分配空間,直接設定 mask 為 lvcf_text ,那麼可能可以獲得列名的值。當然只要正確設定 psztext 和 cchtextmax 就不會有這些問題。
還有乙個問題是列的數量。沒有直接的函式可以獲得列的數量,只能從0開始不斷自增 ncol 的值,判斷 getcolumn( ncol,pcolumn ) 的返回值是否為 false 以計算列的數量。
前期準備工作:
contentsubmit.h中做如下全域性函式宣告:
cstring getexceldriver();//
功能:獲取odbc中excel驅動 //
功能:判斷path檔案(filenameincluded=true)是否存在,存在返回ture,不存在返回false自動建立目錄
bool makesurepathexists( cstring &path, bool filenameincluded=true);
void exportlisttoexcel(clistctrl* plist, cstring strtitle);
//功能:獲得預設的檔名
contentsubmit.cpp中加入如下標頭檔案#include
#include
#include
bool
getdefaultxlsfilename(cstring& ***celfile)
} return
true; }
//獲取驅動
cstring
getexceldriver()
pszbuf = strchr(pszbuf, '/0') + 1; }
while (pszbuf[1] != '/0');
return
sdriver; }
bool
makesurepathexists( cstring &path, bool
filenameincluded)
Excel讀取程式設計 4
1.將資料從excel中匯入到資料庫中 將資料從excel表中匯入到資料中操作的思路比較簡單,就是通過逐行獲取單元格的內容,利用getitem 行位置m,列位置n 來獲取m行n列的值,再寫個writetodatabase cstring a,cstring z 函式,將資料匯入到資料庫中.此外設計關...
excel操作 讀取excel
讀取excel步驟 匯入xlrd模組 開啟excel 讀取需要的sheet頁 通過sheet頁編號或者sheet名字 獲取該sheet頁每行每個字段結果 import xlrd book xlrd.open workbook students.xls 開啟excel sheet book.sheet...
python3讀取excel內容(1)
通過python讀取excel中sheet裡邊的內容 import xlrd myfile xlrd.open workbook 1.xlsx 開啟乙個excle檔案 table myfile.sheets 0 開啟第乙個sheet nrows table.nrows 讀取該sheet的行數 for...