• VB导出数据到excel


    Option Explicit

    Private Sub Form_Load()
        
    Dim i As Long, j As Long
        
        
    Me.MSHFlexGrid1.Rows = 2000
        
    Me.MSHFlexGrid1.Cols = 10
        
    For i = 0 To Me.MSHFlexGrid1.Rows - 1
            
    For j = 0 To Me.MSHFlexGrid1.Cols - 1
                
    Me.MSHFlexGrid1.TextMatrix(i, j) = i & "" & j & ""
            
    Next
        
    Next
        Debug.Print 
    Me.MSHFlexGrid1.TextArray(100)
    End Sub

    Private Sub cmdExport_Click()
        
    Dim i As Long, j As Long
        
    Dim CellsData() As String
        
        
    Dim objApp As Excel.Application
        
    Dim objWorkbook As Excel.Workbook
        
    Dim objWorksheet As Excel.Worksheet
        
    Dim objRange As Excel.Range
        
        
    '构造二维数组
        ReDim CellsData(1 To Me.MSHFlexGrid1.Rows, 1 To Me.MSHFlexGrid1.Cols)
        
    For i = 1 To Me.MSHFlexGrid1.Rows
            
    For j = 1 To Me.MSHFlexGrid1.Cols
                CellsData(i, j) 
    = Me.MSHFlexGrid1.TextMatrix(i - 1, j - 1)
            
    Next
        
    Next
        
        
    '导出到Excel中
        Set objApp = New Excel.Application
        objApp.ScreenUpdating 
    = False '禁止屏幕刷新
        Set objWorkbook = objApp.Workbooks.Add
        
    Set objWorksheet = objWorkbook.Sheets.Add
        
    Set objRange = objWorksheet.Range(objWorksheet.Cells(11), objWorksheet.Cells(Me.MSHFlexGrid1.Rows, Me.MSHFlexGrid1.Cols))
        objRange.Value 
    = CellsData
        objApp.Visible 
    = True
        objApp.ScreenUpdating 
    = True
        
        
    '销毁二维数组
        Erase CellsData
        
        
    Me.SetFocus
        
    MsgBox "导出完毕"
    End Sub
  • 相关阅读:
    八数码(BFS)
    食物链(并查集)
    最大异或对(Trie)
    解决espeak编译的一些问题
    AcWing 3779. 相等的和
    AcWing 3775. 数组补全(环图)
    AcWing 3728. 城市通电(最小生成树)
    AcWing 3727. 乘方相乘(进位制)
    tarjan
    LC刷题简要记录
  • 原文地址:https://www.cnblogs.com/lilongjiang/p/2042403.html
Copyright © 2020-2023  润新知