加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB的MSHFlexGrid控件内容导入Excel

发布时间:2020-12-17 07:53:21 所属栏目:百科 来源:网络整理
导读:机房收费系统中有很多窗体用到导出到Excel,说一下vb与Excel的交互,如何才能将MSHFlexgrid中的内容导出到Excel。 首先在VB中添加引用Microsoft Excel 14.0 Object Library。然后找到相应按钮,在过程中添加如下代码: pre name="code" class="vb"Private Su
机房收费系统中有很多窗体用到导出到Excel,说一下vb与Excel的交互,如何才能将MSHFlexgrid中的内容导出到Excel。

首先在VB中添加引用Microsoft Excel 14.0 Object Library。然后找到相应按钮,在过程中添加如下代码:

<pre name="code" class="vb">Private Sub cmdExport_Click()
    Dim i As Long,j As Long
    Dim CellsData() As String <span>		</span>'定义数组承载数据
    
    'vb中定义excel对象
    Dim objApp As Excel.Application
    Dim objWorkbook As Excel.Workbook
    Dim objWorksheet As Excel.Worksheet
    Dim objRange As Excel.Range
    
    '构建二维数组,容纳MSHFlexgrid中的内容
    ReDim CellsData(1 To myflexgrid.Rows,1 To myflexgrid.Cols)
    For i = 1 To myflexgrid.Rows
        For j = 1 To myflexgrid.Cols
            CellsData(i,j) = myflexgrid.TextMatrix(i - 1,j - 1)
        Next
    Next
    
    '执行导出到excel中的代码
    Set objApp = New Excel.Application <span>	</span>'建立xlapp的引用
    objApp.ScreenUpdating = False <span>	</span>'禁止屏幕刷新
    Set objWorkbook = objApp.Workbooks.Add <span>	</span>'添加工作簿
    Set objWorksheet = objWorkbook.Sheets.Add <span>	</span>'添加工作栏
    Set objRange = objWorksheet.Range(objWorksheet.Cells(1,1),& _
<span>					</span>objWorksheet.Cells(myflexgrid.Rows,myflexgrid.Cols))
    objRange.Value = CellsData <span>			</span>'excel表中的内容就是数组的内容
    objApp.Visible = True <span>			</span>'表可见
    objApp.ScreenUpdating = True<span>		</span>'屏幕可刷新
    
    '销毁二维数组
    Erase CellsData
    
    Me.SetFocus <span>			</span>'窗体获得焦点
    MsgBox "导出完毕!",vbOKOnly + vbExclamation,"警告"
    
End Sub
 

运行后如下:



(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读