機房收費-----導出excel

1.引用

工程---引用--Microsoft Excel 16.0 Object Library--確定

若是在引用中沒有找到excel可點擊這裏查看步驟

2.代碼

方法一:直接在單擊事件中編寫

Private Sub CmdDerive_Click()
  
    Dim Introws As Integer                              '用做循環,表示MSHFlexGrid的總行數
    Dim Intcols As Integer                              '用做循環,表示MSHFlexGrid的總列數
    Dim XlsApp As Excel.Application                     '定義Excel對象
    Dim XlsSheet As Excel.Worksheet                     '定義Excel的表
    Dim XlsBook As Excel.Workbook                       '定義Excel的工作簿
    
    Set XlsApp = CreateObject("Excel.Application")      '實例化Excel對象
    Set XlsBook = XlsApp.Workbooks.Add                  '加載工作簿
    Set XlsSheet = XlsBook.Worksheets(1)                '創建工作表
    
    '循環,導出MSHFlex1中的所有記錄到Excel
    For Introws = 0 To myflexgrid.Rows - 1
        For Intcols = 0 To myflexgrid.Cols - 1
            If Intcols = 0 Then                        '第一列爲學號,將其轉換成字符串格式,否則首位的0無法顯示
                XlsSheet.Cells(Introws + 1, Intcols + 1) = "'" & myflexgrid.TextMatrix(Introws, Intcols)
            Else
                XlsSheet.Cells(Introws + 1, Intcols + 1) = myflexgrid.TextMatrix(Introws, Intcols)
            End If
        Next Intcols
    Next Introws
    '釋放對象
    XlsApp.Visible = True
    Set XlsApp = Nothing
End Sub

需要注意一下這裏的myflexgrid是我控件的名稱需要與下文的msglexgrid區分一下

方法二:調用模塊

1.單擊事件中編寫

Private Sub CmdDerive_Click()
    Call ExportToExcel(MyFlexGrid)
End Sub

2.模塊中編寫

Public Function ExportToExcel(msflexgrid As msflexgrid)  '導出excel表格    

    Dim Introws As Integer                              '用做循環,表示MSHFlexGrid的總行數
    Dim Intcols As Integer                              '用做循環,表示MSHFlexGrid的總列數
    Dim XlsApp As Excel.Application                     '定義Excel對象
    Dim XlsSheet As Excel.Worksheet                     '定義Excel的表
    Dim XlsBook As Excel.Workbook                       '定義Excel的工作簿
    
    Set XlsApp = CreateObject("Excel.Application")      '實例化Excel對象
    Set XlsBook = XlsApp.Workbooks.Add                  '加載工作簿
    Set XlsSheet = XlsBook.Worksheets(1)                '創建工作表
    
    '循環,導出MSHFlex1中的所有記錄到Excel
    For Introws = 0 To msflexgrid.Rows - 1
        For Intcols = 0 To msflexgrid.Cols - 1
            If Intcols = 0 Then                        '第一列爲學號,將其轉換成字符串格式,否則首位的0無法顯示
                XlsSheet.Cells(Introws + 1, Intcols + 1) = "'" & msflexgrid.TextMatrix(Introws, Intcols)
            Else
                XlsSheet.Cells(Introws + 1, Intcols + 1) = msflexgrid.TextMatrix(Introws, Intcols)
            End If
        Next Intcols
    Next Introws
    '釋放對象
    XlsApp.Visible = True
    Set XlsApp = Nothing


End Function

注意:方法一 中myflexgrid是我對控件定義的名稱,而方法二的單擊事件中myflexgrid依舊是我定義的名稱,但是到了模塊中的msflexgrid卻是該控件本身的名稱

 

方法三:不添加引用,直接用代碼編寫

點擊這裏

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章