程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> 機房收費系統的實現:VB中如何將MSHFlexGrid控件中的數據導出到Excel

機房收費系統的實現:VB中如何將MSHFlexGrid控件中的數據導出到Excel

編輯:VB6

機房收費系統中,好多查詢的窗體都包含同一個功能:將數據庫中查詢到的數據顯示在MSHFlexGrid控件中,然後再把MSHFlexGrid控件中的數據導出到Excel表格中。

雖然之前做過學生信息管理系統,不過並沒有涉及到這個功能,因此記錄於此,於己,回顧反思,於大家,分享學習。

方法一:在根目錄中事先建立空的Excel表格

1、在與VB工程同一根目錄中建立將要導入數據的Excel表格;

2、在VB事件中寫代碼:

Private Sub cmdExport_Click()    
    Dim i As Integer
    Dim j As Integer
    myFlexGrid.Redraw = False    '關閉表格重畫,加快運行速度    
     Set xlApp = CreateObject("Excel.Application")   '創建EXCEL對象    
     '打開已經存在的EXCEL工件簿文件    
     Set xlBook = xlApp.Workbooks.Open(App.Path & "\學生上機記錄.xls")    
    xlApp.Visible = True '設置EXCEL對象可見    
     Set xlSheet = xlBook.Worksheets("Sheet1") '設置活動工作表    
        
     For i = 0 To myFlexGrid.Rows - 1 '行循環    
            For j = 0 To myFlexGrid.Cols - 1 '列循環    
                 myFlexGrid.Row = i    
               myFlexGrid.Col = j    
              '保存到EXCEL                                                                  xlBook.Worksheets("Sheet1").Cells(i + 1, j + 1) = myFlexGrid.Text                                       Next j    
    Next i    
    myFlexGrid.Redraw = True
End Sub

URL:http://www.bianceng.cn/Programming/vb/201410/45963.htm

方法二:直接引用VB中自帶的Microsoft Excel 14.0 Object Library

1、在VB設計器中,工程→引用,引用Microsoft Excel 14.0 Object Library;

2、編寫代碼:

Private Sub cmdExport_Click()    
    Dim i As Integer
    Dim j As Integer
    Dim xlApp As Excel.Application    
    Dim xlBook As Excel.Workbook    
    Dim xlSheet As Excel.Worksheet    
    Set xlApp = CreateObject("Excel.Application")   '實例化對象xlApp    
    xlApp.Visible = True
    Set xlBook = xlApp.Workbooks.Add    
    Set xlSheet = xlBook.Worksheets(1)    
    For i = 0 To myFlexGrid.Rows - 1    
        For j = 0 To myFlexGrid.Cols - 1    
            myFlexGrid.Row = i    
            myFlexGrid.Col = j    
            xlSheet.Cells(i + 1, j + 1) = Trim(myFlexGrid.Text)    
        Next
    Next
End Sub

第一種方法不用引用Microsoft Excel 14.0 Object Library,但必須得在根目錄下建立相應的Excel表格,第二種方法不用建立表格,直接引用Microsoft Excel 14.0 Object Library可以直接實例化,比較方便。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved