溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C++ 中怎么利用Builder操作Excel表

發(fā)布時(shí)間:2021-07-14 17:04:02 來源:億速云 閱讀:398 作者:Leah 欄目:編程語言

本篇文章為大家展示了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ù)中加入如下代碼:

  1. Variant ex,newxls;   

  2. int i,j=1;   

  3. try   

  4. {   

  5. ex=CreateOleObject(″Excel.Application″); //啟動(dòng)Excel   

  6. }   

  7. catch(...)   

  8. {   

  9. ShowMessage(″無法啟動(dòng)Excel″);   

  10. }   

  11. ex.OlePropertySet(″Visible″,(Variant)true); //使Excel啟動(dòng)后可見   

  12. newxls=(ex.OleFunction(″Workbooks″)).OleFunction(″Add″);
    //新建一個(gè)工作薄   

  13. Table1-〉A(chǔ)ctive=true;   

  14. //打開數(shù)據(jù)庫   

  15. Table1-〉First();   

  16. for(i=0;i〈Table1-〉FieldCount;i++)   

  17. //將字段名寫到工作薄的***行   

  18. {   

  19. (ex.OleFunction(″Cells″)).OlePropertySet(″Item″,(Variant)1,
    (Variant)(i+1),(Variant)Table1-〉Fields[i]-〉FieldName);   

  20. }   

  21. while(!Table1-〉Eof)   

  22. //將數(shù)據(jù)庫中的記錄依次寫到工作薄中   

  23. {   

  24. jj=j+1;   

  25. for(i=0;i〈Table1-〉FieldCount;i++)   

  26. {   

  27. (ex.OleFunction(″Cells″)).OlePropertySet
    (″Item″,(Variant)j,(Variant)(i+1),   

  28. (Variant)Table1-〉Fields[i]-〉A(chǔ)sString);   

  29. }   

  30. Table1-〉Next();   

  31. }   

  32. newxls.OleFunction(″SaveAs″,(Variant)filename);   

  33. //保存工作薄,filename是工作薄的全文件名   

  34. ex.OleFunction(″Quit″);   

  35. //退出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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI