萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> excel綜合 >> 如何用Excel控件制作簡單報表

如何用Excel控件制作簡單報表

   ①報表的概念

  這張報表包含了報表的基本元素,即頁眉、頁腳、橫表頭、豎表頭、表頭交叉區、單元格。

  頁 眉:位於報表的最上部分。作為報表的描述性信息,概括性的說明報表的名稱、表號、批准機關、批准文號等。

  頁 腳:位於報表的最下部分,用於說明報表的其它信息,例如:單位負責人、部門負責人、制表人等信息。

  橫表頭:也叫賓欄,位於報表的橫方向的表頭,它是統計的約束條件,也可能是描述信息。對於統計表來說橫表頭是可以分層的,並且上層的條件對它下面各層都起作用。

  豎表頭:也叫甲欄,報表豎方向的表頭,它在統計表中與橫表頭起相同的作用,也是統計的約束性條件,也可能是描述性信息。在分層結構中,上層的條件對它下面各層都起作用。

  表頭交叉區:在報表的左上角,可以分欄說明報表的橫表頭和豎表頭。

  單元格:報表的主體部分。在統計報表中是其相對應橫表頭和豎表頭的兩個條件的統計情況,在查詢表中是橫表頭的查詢信息,也可能是簡單的計算統計結果。單元格內容在新建報表後是空的,要通過統計查詢這一步來填充,在填充後也可以修改。

  ②Visual Basic中制作報表

  Visual Basic中制作報表,通常是用數據環境設計器(Data Environment Designer)與數據報表設計器(Data Report Designer),或者使用第三方產品(如非常有名的Crystal Report)來完成並通過ActiveX控件輸出。但對於大多數程序員來說,設計報表往往他們費盡心思。然而,我們可以有更簡單的方法來滿足他們的要求。由於Visual Basic的可擴展性,使用和融入Office2000的特性,包括Excel是相當方便的。Excel可以用作OLE服務器,向外部輸出某些屬性,方法和事件.Visual Basic可以利用這些功能,實現與Excel的集成。下面,我們來具體闡述一個用VB來創建Excel報表的例子。

  ③Excel對象

  微軟的Excel對象模型包括了128個不同的對象,從矩形,文本框等簡單的對象到透視表,圖表等復雜的對象.下面我們簡單介紹一下其中最重要,也是用得最多的四個對象.

  A、Application對象

  Application對象處於Excel對象層次結構的頂層,表示Excel自身的運行環境.

  B、Workbook對象

  Workbook對象直接地處於Application對象的下層,表示一個Excel工作薄文件.

  C、Worksheet對象

  Worksheet對象包含於Workbook對象,表示一個Excel工作表.

  D、Range對象

  Range對象包含於Worksheet對象,表示Excel工作表中的一個或多個單元格.

  ④Access2000的報表解決方案

  A、在Excel中做一個模板

  在用Visual Basic生成Excel報表之前,應先按照用戶的要求在Excel中做好一個模板,包括頁眉,頁腳,表頭等等。

  B、在VB中創建Excel對象,打開Excel文件

  和其它的第三方控件一樣,使用之前必須引用或作為部件導入。要在VB中創建和作用Excel對象,就必須先引用Microsoft Excel 9.0 object library。然後我們就可以在VB的編程操作Excel對象了。

  關鍵代碼入下:

  Dim excelFile As String

  excelFile = App.Path & "myReport.xls" 'Excel文件名

  '定義Excel的Application對象,Application對象相當於Excel程序

  Dim xlApp As Excel.Application

  '定義Excel的Workbook對象,Workbook對象相當於Excel文件

  Dim xlbook As Excel.Workbook

  '定義Excel的Worksheet對象,Worksheet對象相當於Excel文件中的一個表

  Dim xlsheet As Excel.Worksheet

  '給Application分配內存空間,將其實例化

  Set xlApp = New Excel.Application

  '創建Application對象

  Set xlApp = CreateObject("Excel.Application")

  '隱藏被VB打開的Excel程序

  xlApp.Visible = False

  '打開工作簿,excelFile為一個EXCEL報表文件

  Set xlbook = xlApp.Workbooks.Open(excelFile)

  '打開Excel工作表

  Set xlsheet = xlbook.Worksheets(1)

  C、控制Excel工作表,對其進行編輯

  如果是通過ADO打開了一個記錄集,想把記錄集中的數據顯示在單元格中,關鍵代碼為:

  Do Until rs.EOF

  For i = 0 To rs.Fields.Count - 1

  xlsheet.Cells(j + 1, i + 1) = rs.Fields(i)

  Next

  rs.MoveNext

  j = j + 1

  Loop

copyright © 萬盛學電腦網 all rights reserved