閱讀205 返回首頁    go 阿裏雲 go 技術社區[雲棲]


知識共享圖文直播---(一)將數據庫中的數據加載到MSFlexGrid控件中再導入Excel

        熟話說萬物皆有其存在的道理,為什麼我突然想寫《知識共享圖文直播》這個係列呢?首先,我想的是記錄自己學習的曆程,在記錄中加深自己對知識的理解,同時也希望自己的博文能幫助到其他數據庫的初學者。其次,這也算借鑒了其他人的一個好的想法吧。

        一、我們所處的環境

              1、看窗體布局

             

           2、了解目標表

            

          

       二、數據導入MSFlexGrid控件中


[vb] view plaincopyprint?
  1. Dim strSQL As String  
  2. Dim strMsg As String  
  3. Dim objRs As ADODB.Recordset  
  4. Dim n As Integer  
  5.   
  6. '提取學生信息  
  7. strSQL = "select * from student_Info where cardno='" & txtCardNo.Text & "'"  
  8. Set objRs = ExecuteSQL(strSQL, strMsg)  
  9.   
  10. '顯示列名  
  11. With MSFlexGrid1  
  12.     '.Row = 0  
  13.     .TextMatrix(0, 0) = "卡號"  
  14.     .TextMatrix(0, 1) = "學生姓名"  
  15.     .TextMatrix(0, 2) = "充值金額"  
  16.     .TextMatrix(0, 3) = "充值日期"  
  17.     .TextMatrix(0, 4) = "充值時間"  
  18.     .TextMatrix(0, 5) = "充值教師"  
  19.       
  20.     '有選擇的顯示記錄,對比表中的列名可知  
  21.     n = 0  
  22.     While Not objRs.EOF  
  23.         MSFlexGrid1.AddItem (objRs!cardno & vbTab & objRs!studentName & _  
  24.                              vbTab & objRs!cash & vbTab & objRs!Date & _  
  25.                              vbTab & objRs!Time & vbTab & objRs!UserID)  
  26.         n = n + 1  
  27.         objRs.MoveNext  
  28.     Wend  
  29.       
  30. End With  
 

    三、將控件中顯示數據導入Excel表格


     1、首先我們先在模塊中建立執行此過程的方法,如下: 


[vb] view plaincopyprint?
  1. <pre name="code" class="vb">Public Sub OutDataToExcel(Flex As MSFlexGrid)  
  2. '***********************************************************  
  3. '作用:定義一個過程,實現將MSFlexGrid控件中的數據導入Excel表格  
  4. '輸入參數:無  
  5. '返回值:  
  6. '創建日期:2013.8.23  
  7. '修改日期:  
  8. '作者:十期提高班 Senior_Lee  
  9. '****************************************  
  10.     Dim s As String  
  11.     Dim i, j, k As Integer  
  12.       
  13.     On Error GoTo Err  
  14.       
  15.     'Me.MousePointer = 11  
  16.     Dim Excelapp As Excel.Application  
  17.     Set Excelapp = New Excel.Application  
  18.       
  19.     On Error Resume Next  
  20.       
  21.     DoEvents  
  22.     Excelapp.SheetsInNewWorkbook = 1  
  23.     Excelapp.Workbooks.Add  
  24.     'Excelapp.ActiveSheet.Cells(1, 1) = s  
  25.     'Excelapp.Range("c1").Select               '選中某一個單元格  
  26.     'Excelapp.Selection.Font.Size = 16         '設置選中單元格的字體  
  27.       
  28.     With Flex  
  29.         k = .Rows  
  30.         For i = 0 To k - 1  
  31.             For j = 0 To .Cols - 1  
  32.                 DoEvents  
  33.                 Excelapp.ActiveSheet.Cells(1 + i, j + 1) = "'" & .TextMatrix(i, j)  
  34.             Next j  
  35.         Next i  
  36.     End With  
  37.       
  38.     'Me.MousePointer = 0  
  39.     Excelapp.Visible = True  
  40.     'Excelapp.Sheets.PrintPreview              '默認顯示,打印預覽窗體,注釋之後直接顯示Excel表格  
  41.       
  42. '錯誤處理  
  43. Err:  
  44.     If Not (Excelapp Is NothingThen  
  45.         Excelapp.Quit  
  46.     End If  
  47.       
  48. End Sub  
     
     2、在窗體中調用
Private Sub cmdOutPut_Click()  
'***************************************  
'作用:將學生充值記錄導入Excel表格  
'輸入參數:  
'返回值:  
'創建日期:  
'修改日期:  
'作者:  
'*************************************  
    OutDataToExcel MSFlexGrid1  
End Sub     

     寫完之後總覺得少點東西,文章頁僅僅是記錄;在接下來的文章中會慢慢的加入自己的思考的。同時也希望該文對數據庫的初學者有幫助。

最後更新:2017-04-03 16:49:02

  上一篇:go zoj 2588 Burning Bridges 邊聯通性
  下一篇:go uclibc和glibc的差別