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

vb中将flexgrid表中数据导出至Execel及其相关知识

发布时间:2020-12-17 08:06:37 所属栏目:百科 来源:网络整理
导读:在学习SQL时,我们就接触到数据的导入和导出,现在我们刚做完机房收费系统,接触到了将数据导出至EXCEL表中,我就来简单的介绍一下我实现它的方法。 由于在此系统中,我们要导出多次EXCEL数据,所以我将他们共同的地方进行PUBLIC声明,到时候可以直接进行调

在学习SQL时,我们就接触到数据的导入和导出,现在我们刚做完机房收费系统,接触到了将数据导出至EXCEL表中,我就来简单的介绍一下我实现它的方法。

由于在此系统中,我们要导出多次EXCEL数据,所以我将他们共同的地方进行PUBLIC声明,到时候可以直接进行调用!

1、事先,我们必须在对EXCEL进行引用如图:



Public Sub ToExcel(flexgrid As MSHFlexGrid) '声明一个ToExcel函数
   
'定义声明
    Dim xlsApp As Excel.Application      
    Dim xlsBook As Excel.Workbook
    Dim xlsSheet As Excel.Worksheet
    Dim listrst()
    
    '实例化
    On Error Resume Next
    Set xlsApp = New Excel.Application
    Set xlsBook = xlsApp.Workbooks.Add
    Set xlsSheet = xlsBook.ActiveSheet
    
    
    Dim introws As Long
    Dim intcols As Long
   
    
    'introws,intcols代表flexgrid表中的行和列
    introws = flexgrid.Rows
    intcols = flexgrid.Cols
    
    '重新声明数组表示Excel表中的行和列分别等于被导出表中的行和列
    ReDim listrst(introws,intcols)
     
     
    For i = 0 To flexgrid.Rows - 1
        For j = 0 To flexgrid.Cols - 1
            listrst(i,j) = Trim(flexgrid.TextMatrix(i,j))  '各行和列的数据对应相等
        Next j
    Next i
    
    DoEvents   'doevents用来转让控制权,将其转让给操作系统进行执行
    With xlsSheet
        xlsApp.Intersect(.Range(.Rows(1),.Rows(introws)),.Range(.Columns(1),.Columns(intcols))).Value = listrst
    End With
    
    xlsApp.Visible = True
    xlsApp.Interactive = True
End Sub



1:对于intersect这个函数有以下解释:

返回一个range对象,此对象代表两个或多个范围重叠的矩形区域。

expression.Intersect(Arg1,Arg2,...)expression 可选。该表达式返回一个Application对象。

Arg1,... Range 类型,必需。重叠的区域。必须指定至少两个 Range对象。


2:range:range()函数创建并返回一个包含指定范围的元素的数组

可用 Range(arg)(其中 arg 为区域名称)来返回代表单个单元格或单元格区域的 Range 对象。

具体参数的含义如下:

range() 函数创建并返回一个包含指定范围的元素的数组。

语法

range(first,second,step)
参数 描述
first 必需。规定数组元素的最小值。
second 必需。规定数组元素的最大值。
step

可选。规定元素之间的步进制。默认是 1。


通过以上知识,我们不难理解下面这句代码的含义了吧!
xlsApp.Intersect(.Range(.Rows(1),.Columns(intcols))).Value = listrst

(编辑:李大同)

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

    推荐文章
      热点阅读