您好,登錄后才能下訂單哦!
本篇文章為大家展示了C++ 中怎么利用Builder操作Excel表,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
首先新建一個(gè)表單Form1,保存單元文件Unit1.cpp,保存工程文件Project1.bpr。然后在表單中加入數(shù)據(jù)訪問控件TTable,將Name屬性設(shè)為Table1,DatabaseName屬性設(shè)為BCDEMOS,TableName屬性設(shè)為Country.db。在表單中加入一個(gè)按鈕控件TButton,將其Name屬性設(shè)為Button1,Caption屬性設(shè)為 “轉(zhuǎn)換為Excel文件”。雙擊Button1,在Button1Click()函數(shù)中加入如下代碼:
Variant ex,newxls;
int i,j=1;
try
{
ex=CreateOleObject(″Excel.Application″); //啟動(dòng)Excel
}
catch(...)
{
ShowMessage(″無法啟動(dòng)Excel″);
}
ex.OlePropertySet(″Visible″,(Variant)true); //使Excel啟動(dòng)后可見
newxls=(ex.OleFunction(″Workbooks″)).OleFunction(″Add″);
//新建一個(gè)工作薄Table1-〉A(chǔ)ctive=true;
//打開數(shù)據(jù)庫
Table1-〉First();
for(i=0;i〈Table1-〉FieldCount;i++)
//將字段名寫到工作薄的***行
{
(ex.OleFunction(″Cells″)).OlePropertySet(″Item″,(Variant)1,
(Variant)(i+1),(Variant)Table1-〉Fields[i]-〉FieldName);}
while(!Table1-〉Eof)
//將數(shù)據(jù)庫中的記錄依次寫到工作薄中
{
jj=j+1;
for(i=0;i〈Table1-〉FieldCount;i++)
{
(ex.OleFunction(″Cells″)).OlePropertySet
(″Item″,(Variant)j,(Variant)(i+1),(Variant)Table1-〉Fields[i]-〉A(chǔ)sString);
}
Table1-〉Next();
}
newxls.OleFunction(″SaveAs″,(Variant)filename);
//保存工作薄,filename是工作薄的全文件名
ex.OleFunction(″Quit″);
//退出Excel,釋放OLE對象
注意,要使用OLE自動(dòng)化對象,在編譯之前還必須在Unit1.cpp文件前面加上#include ″ComObj.hpp″。
運(yùn)行程序就可以實(shí)現(xiàn)將數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)換到Excel工作薄中。同樣的道理,使用OlePropertyGet()函數(shù),也可以將Excel工作薄中的數(shù)據(jù)讀到數(shù)據(jù)庫中去。
上述內(nèi)容就是C++ 中怎么利用Builder操作Excel表,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。