天天看点

机房收费系统中Excel表如何导出

概述

机房收费系统中需要导出Excel表的地方还是很多的,刚开始,我始终无法下手。当我把所有的代码都实现了不是报错就是没有任何的反应。我只有求教网络这位大神才得知自己的问题所在,下面我就分享给大家。

问题

我在把代码敲完后,总是提示:“编译错误:用户定义类型未定义”,经过几天的查找始终没有找到问题的所在,很是让我头疼。然后上网查询后,确实也有很多的人有类似的情况,然后告诉我是因为没有引用“Microsoft Excel 15.0 Object Library”,当时很是兴奋,可是当我自己引用的时候发现,我的列表里没有这一项,一下子就傻眼了。然后继续查找,才得到了真经,问题也才能迎刃而解。现在我们就来学习下这样做出这个功能。

  • 第一步:在VB开发环境中找到“工程”→“引用”中添加引用:
机房收费系统中Excel表如何导出

- 第二步:当在第一步情况下找不到的,操作步骤如下:

1. 先在自己的电脑系统中找到Excel.exe应用程序的具体位置,如下图(我的就是这样的)

机房收费系统中Excel表如何导出

2. 然后在引用中浏览,找到上述路径,文件类型选择“可执行文件”,然后就可以选择Excel了,这样就可以加载成功了。

机房收费系统中Excel表如何导出

重点代码展示

Private Sub cmdExport_Click()
    Dim ExcelApp As Excel.Application
    Dim ExcelBook As Excel.Workbook
    Dim ExcelSheet As Excel.Worksheet
    Dim ExcelRange As Excel.Range

    Dim i As Integer       '定义横坐标
    Dim j As Integer       '定义纵坐标

    Set ExcelApp = CreateObject("Excel.application")    '创建Excel应用程序对象
    Set ExcelBook = ExcelApp.Workbooks.Add                 '创建一个工作簿
    Set ExcelSheet = ExcelBook.Worksheets()               '创建一个工作表

    DoEvents           '转让控制权,以便让操作系统处理其它的事件
    With myflexgrid      '将FlexGrid控件中内容导入Excel表格中
        For i =  To .Rows -          '遍历所有的行
            For j =  To .Cols -      '遍历所有的列
                DoEvents                 '转让控制权,以便让操作系统处理其它的事件
                ExcelApp.ActiveSheet.Cells(i + , j + ) = .TextMatrix(i, j)   '创建新的单元格,并添加FlexGrid中的内容
            Next j
        Next i

    End With

    ExcelApp.ActiveWorkbook.SaveAs App.Path & "\学生查询.xls"         '表格保存路径
    ExcelApp.ActiveWorkbook.Saved = True                                                      '保存表格
    MsgBox "导出完成!", vbOKOnly + vbExclamation, "提示"                       '保存成功提示信息
    ExcelApp.Visible = True                                                                                '显示表格
End Sub
           

总结

每当遇到问题的时候不要着急,慢慢的一点点的探索,过程虽然有点难熬,可是当问题解决的时候,自己的收获也是满满的,多总结,多站在巨人的肩膀上。

继续阅读