完成查詢充值記錄的代碼后,對查詢+導出有一些感悟。在學習機房收費系統(tǒng)時,對于查詢+導出的困難,個人認為是導出相對于我自己比較難,主要有三點: 1,我寫過程不熟練; 2,這是excel與vb的結合使用,由于VB與EXCEL由于分別屬于不同的應用系統(tǒng)對于我來說是一個挑戰(zhàn); 3,是一個新的知識點。 我主要在寫代碼的時候,主要先了解了vb與Excel之間的關系。后來在完成了代碼,其步驟如下: 第一步: 一般設計窗體時用到了MSHFlexGrid,MSHFlexGRid ,DataGrid等部件時,會需要導出一些報表,就會調用Microsoft Office Excel。我首先要連接下Excel的對象,因為在vb調用Excel中要用到一些對象。其對象如下圖: 
1, Application對象表示Excel運用程序本身。作用是提供在相應的程序,實例中當前用戶的對象的信息。如圖所示: 
2,Workbook對象表示Excel應用程序的單個工作簿。主要是vb要制定一個特定的工作簿。
 3,Worksheet對象就是我們平常在Excel的sheet表。主要是vb指定的一個特定的sheet表。包含了Range對象和Cell對象。range對象包含了cell對象。
 4,Chart對象表示工作表中的圖表。
 介紹了以上的Excel對象后,我們在VB中調用Excel的時便會很清楚對象的聲明,及位置,在腦海了就已經形成一幅Excel表。 第二部:代碼。
在自定義過程中。代碼如下: Public Sub ExportExcel(formname As Form, FlexGridName As String) '參數(shù)傳遞 xlApp As Excel.Application '聲明application對象,Excel運用程序本身。作用是提供在相應的程序,實例中當前用戶的對象的信息。 Dim xlBook As Excel.WorkBook '聲明workbook。Workbook對象表示Excel應用程序的單個工作簿。主要是vb要制定一個特定的工作簿。 Dim xlSheet As Excel.Worksheet '聲明worksheet。Worksheet對象就是我們平常在Excel的sheet表。主要是vb指定的一個特定的sheet表。包含了Range對象和Cell對象。 Screen.MousePointer = 11 'Screen.MousePointer = vbHourglass 'VbHourglass 11 被顯示的鼠標指針的類型為沙漏(表示等待狀態(tài))。 Set XLApp = CreateObject("Excel.Application") '創(chuàng)建EXCEL對象 Set XLBook = XLApp.WorkBooks.Add '添加一個EXCEL工件簿文件并且添加內容 ' Set XLSheet = XLBook.Worksheets("sheet1") '設置活動工作表,表的名字也可以更改,不再敘說 Set XLSheet = XLBook.WorkSheets(1) With formname.Controls(FlexGridName) For LngRows = 0 To .Rows - 1 For Intcols = 0 To .Cols - 1 XLSheet.Cells(LngRows + 1, Intcols + 1).Value = "'" & .TextMatrix(LngRows, Intcols) XLApp.Visible = True '顯示當前窗口 XLApp.Caption = "學生充值記錄查詢" '更改 Excel 標題欄 'Screen.MousePointer = vbDefault 'vbDefault 0 (缺省值)形狀由對象決定。 Screen.MousePointer = vbDefault 'vbDefault 0 (缺省值)形狀由對象決定。 MsgBox "請確認您的電腦已安裝Excel!", vbExclamation, "提示"
注:標紅色的地方是最容易出錯的也是重要的地方。 當然有的文章也提及到了加“引用”的問題,以上的代碼是沒有加引用,但是我也測試了以下: 從"工程"菜單中選擇"引用"欄;選擇Microsoft
Excel 14.0 ObjectLibrary(EXCEL2010),然后選擇"確定"。表示在工程中要引用EXCEL類型庫。如圖: 
然后再把上溯的代碼敲一遍即可。但是我也不知道加了引用與直接使用的區(qū)別,有待我的研究,如果大家有知道的請留言給我。謝謝。
|