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

VB导出Excel

发布时间:2020-12-17 00:15:56 所属栏目:大数据 来源:网络整理
导读:完成查询充值记录的代码后,对查询+导出有一些感悟。 在学习机房收费系统时,对于查询+导出的困难,个人认为是导出相对于我自己比较难,主要有三点: 1,我写过程不熟练; 2,这是excel与vb的结合使用,由于VB与EXCEL由于分别属于不同的应用系统对于我来说是
完成查询充值记录的代码后,对查询+导出有一些感悟。

在学习机房收费系统时,对于查询+导出的困难,个人认为是导出相对于我自己比较难,主要有三点:

1,我写过程不熟练;
2,这是excel与vb的结合使用,由于VB与EXCEL由于分别属于不同的应用系统对于我来说是一个挑战;
3,是一个新的知识点。
我主要在写代码的时候,主要先了解了vb与Excel之间的关系。后来在完成了代码,其步骤如下:
第一步:
一般设计窗体时用到了MSHFlexGrid,MSHFlexGRid ,DataGrid等部件时,会需要导出一些报表,就会调用Microsoft Office Excel。我首先要连接下Excel的对象,因为在vb调用Excel中要用到一些对象。其对象如下图:

1, Application对象表示Excel运用程序本身。作用是提供在相应的程序,实例中当前用户的对象的信息。如图所示:


2,Workbook对象表示Excel应用程序的单个工作簿。主要是vb要制定一个特定的工作簿。

3,Worksheet对象就是我们平常在Excel的sheet表。主要是vb指定的一个特定的sheet表。包含了Range对象和Cell对象。range对象包含了cell对象。

4,Chart对象表示工作表中的图表。

介绍了以上的Excel对象后,我们在VB中调用Excel的时便会很清楚对象的声明,及位置,在脑海了就已经形成一幅Excel表。

第二部:代码。

在自定义过程中。代码如下:

Public Sub ExportExcel(formname As Form,FlexGridName As String) '参数传递
    xlApp As Excel.Application '声明application对象,Excel运用程序本身。作用是提供在相应的程序,实例中当前用户的对象的信息。
    Dim xlBook As Excel.WorkBook '声明workbook。Workbook对象表示Excel应用程序的单个工作簿。主要是vb要制定一个特定的工作簿。
    Dim xlSheet As Excel.Worksheet '声明worksheet。Worksheet对象就是我们平常在Excel的sheet表。主要是vb指定的一个特定的sheet表。包含了Range对象和Cell对象。
    Screen.MousePointer = 11 'Screen.MousePointer = vbHourglass 'VbHourglass 11 被显示的鼠标指针的类型为沙漏(表示等待状态)。

On Error GoTo Err_Proc
    Set XLApp = CreateObject("Excel.Application")   '创建EXCEL对象
    Set XLBook = XLApp.WorkBooks.Add    '添加一个EXCEL工件簿文件并且添加内容
  '  Set XLSheet = XLBook.Worksheets("sheet1") '设置活动工作表,表的名字也可以更改,不再叙说
    Set XLSheet = XLBook.WorkSheets(1)
    '将数据填入到excel中
    Dim LngRows As Long
    Dim Intcols As Integer
    With formname.Controls(FlexGridName)
         '对行和列进行循环
        For LngRows = 0 To .Rows - 1
            For Intcols = 0 To .Cols - 1
                XLSheet.Cells(LngRows + 1,Intcols + 1).Value = "'" & .TextMatrix(LngRows,Intcols)
            Next Intcols
        Next LngRows
    End With
    XLApp.Visible = True    '显示当前窗口
    XLApp.Caption = "学生充值记录查询"  '更改 Excel 标题栏
    'Screen.MousePointer = vbDefault  'vbDefault 0 (缺省值)形状由对象决定。
    Screen.MousePointer = 0
    Exit Sub

Err_Proc:
    Screen.MousePointer = vbDefault 'vbDefault 0 (缺省值)形状由对象决定。
    MsgBox "请确认您的电脑已安装Excel!",vbExclamation,"提示"

End Sub


注:标红色的地方是最容易出错的也是重要的地方。

当然有的文章也提及到了加“引用”的问题,以上的代码是没有加引用,但是我也测试了以下:

"工程"菜单中选择"引用"栏;选择Microsoft Excel 14.0 ObjectLibraryEXCEL2010),然后选择"确定"。表示在工程中要引用EXCEL类型库。如图:

然后再把上溯的代码敲一遍即可。但是我也不知道加了引用与直接使用的区别,有待我的研究,如果大家有知道的请留言给我。谢谢。

(编辑:李大同)

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

    推荐文章
      热点阅读