1. gzyueqian
      18529173453
      首頁 > 新聞中心 > > 正文

      如何利用C++ Builder 4.0 Enterprise實(shí)現(xiàn)對(duì)Excel97 的調(diào)用

      更新時(shí)間: 2007-05-22 17:57:05來源: 粵嵌教育瀏覽量:881


        我們?cè)谶M(jìn)行數(shù)據(jù)庫軟件的開發(fā)時(shí),一般都要進(jìn)行大量的報(bào)表設(shè)計(jì),雖然我們可以利用Crystal Report 或程序自帶的報(bào)表工具進(jìn)行報(bào)表設(shè)計(jì),但是當(dāng)涉及到要設(shè)計(jì)多重報(bào)表或交叉報(bào)表時(shí)、我們一般都會(huì)感到自己力不從心。有時(shí)雖然想利用Excel作為前臺(tái)報(bào)表,但卻找不到相關(guān)接口只能作罷。其實(shí)我們只要知道Excel的接口結(jié)構(gòu),就能夠方便的實(shí)現(xiàn)對(duì)Excel的調(diào)用。

        原理:在Excel 中程序接口一般分為3層 ,分別為:ExelApplication、Excelbook、Excelsheet 其中ExelApplication代表Excel程序,Excelbook代表Excel程序當(dāng)前的工作本,Excelsheet代表Excelbook當(dāng)前激活的表格,因此在啟動(dòng)Excel程序時(shí)要按此序分別啟動(dòng),這樣就能實(shí)現(xiàn)對(duì)Excel報(bào)表的操作。

        現(xiàn)舉例為例介紹如下:

        一、在Import Type Library中加入 Excel8.olb,在\include 子目錄下生成Excel_TLB.h文件.

        二、在BCB4.0中Form1中添加Button1、Button2、Button3、Table1,并存盤為Project1。

        三、在Unit1.h中加入頭文件 #include "..\Excel_tlb.h"

             在Private中加入

         Private:  

         TCOM_Application Application;   file://定義ExcelApplication對(duì)象//

          WorksheetPtr  Worksheet;        // 定義ExcelSheet對(duì)象//

          RangePtr   FirstCol ;           file://定義列對(duì)象//

          RangePtr   Range             file://定義表格操作范圍//   

        四、在Button1的OnClikc事件中添加如下代碼:

      void __fastcall TForm1::Button1Click(TObject *Sender)

      {//啟動(dòng)Excel//

         const int xlWBatChart = -4109;

      const int xlWBatWorksheet = -4167;  

      if (! Application)

        Application = CoApplication_::Create(); file://建立于Excel程序的連接//

      Application->set_Visible(0, true);//打開Excel程序//

      Application->Workbooks->Add(xlWBATWorksheet);//創(chuàng)建只含有一個(gè)ExcelSheet的ExcelBook//

      Worksheet = Application->Workbooks->get_Item(1)->Worksheets->get_Item(1);//取得該表對(duì)象//

      Worksheet->Name = WideString("database Date");//建立該表的名稱//

      }   

        五、在Button2的OnClikc事件中添加如下代碼:

      void __fastcall TForm1::Button2Click(TObject *Sender)

      {//添加數(shù)據(jù)//

      int i, j;

         Table1->DatabaseName="DBDEMOS";

         Table1->TableName="Author.db";

        Table1->Open( );

        for( i=0;iFieldCount;i++)

      Worksheet->Cells->set__Default(1,i,Table1->Fileds->Fileds[i]->FiledName);//在指定的位置加入字段名//

      Table1->First();

      j=2;

      while( !Table1->Eof( ))

      {

      for( i=0;iFieldCount;i++)

      Worksheet->Cells->set__Default(j,i, Table1->Fields->Fileds[i]->AsString);////在指定的位置加入數(shù)據(jù)庫的內(nèi)容//

      Table1->Next( );

      j++;

      }

        }

        六、在Button3的OnClikc事件中添加如下代碼:

      void __fastcall TForm1::Button3Click(TObject *Sender)

      {//表格設(shè)置//

        Range = m_Worksheet->get_Range("C1:F20");//設(shè)置表格操作范圍//

        Range->Font->size=12;//設(shè)置字體大小//

        Range->Columns->Interior->ColorIndex = 3;//設(shè)置表格表格顏色//

        Range->Borders->LineStyle = xlContinuous;//設(shè)置表格邊框//

        FirstCol = m_Worksheet->Columns->get__Default(3 );//取得當(dāng)前表格的第三列對(duì)象//

        FirstCol->ColumnWidth = 25;       // 設(shè)置對(duì)象寬度//

        FirstCol->Font->Bold = true;        // 設(shè)置字體屬性為加粗//

        FirstCol->Font->Italic = true;       file://設(shè)置字體的種類//

        FirstCol->Font->Color = clBlue;     // 設(shè)置字體的顏色//

      }

         以上程序在C++ Builder 4.0 Enterprise + Pwin98中實(shí)現(xiàn)。

         通過以上程序可以看出,只要我們?cè)诔绦蛑袑?duì)Excel進(jìn)行巧妙的設(shè)置,就能夠設(shè)計(jì)出具有專業(yè)水平的報(bào)表。

      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩欧美国产一区二区三区免费 | 亚洲日韩欧美少妇精品 | 亚洲一区中文字幕制服丝袜 | 午夜精品褔利一区二区三区蜜桃 | 亚洲欧美日韩视频小说偷拍 | 午夜福利成年电影在线观看 |