Excel讀取程式設計 1

2021-06-15 22:39:22 字數 2124 閱讀 9082

準備工作:新增如下六個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 classesfinish,

這樣這六個類就被匯入到工程中了.

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...