机房收费系统之用VB导出数据到Excel

 最初在完成导出数据到Excel表的功能的时候,代码中没有下边的蓝色部分,只有红色部分的代码,运行是没有问题的,后运行的时候就报错了……我很是不解,觉得它在戏弄我发火只好按照它的提示去排除错误,最终将红色部分的代码变成了蓝色部分。

如今机房收费系统完成了,准备进行一次大总结,故回过头来将过程中总结的某些博客再次编辑,修复存在的漏洞,温故知新……

<span style="font-size:18px;">Private Sub cmdExportExcel_Click()
    Dim i As Integer
    Dim j As Integer
    
<span style="color:#ff0000;">'   Dim xlApp As excel.Application  这样定义报错:未定义(故用以下方式定义)</span>
    <span style="color:#3333ff;">Dim xlApp As Object   '必须这样定义
    Dim xlBook  As Object
    Dim xlSheet As Object</span>
 
    
    MSHFlexGrid.Redraw = False    '关闭表格重画,加快运行速度
    Set xlApp = CreateObject("Excel.Application")   '创建EXCEL对象
     
     '打开已经存在的EXCEL工件簿文件
    Set xlBook = xlApp.Workbooks.Open(App.Path & "\查询记录.xlsx")
    xlApp.Visible = True '设置EXCEL对象可见
    Set xlSheet = xlBook.Worksheets("Sheet1") '设置活动工作表
        
    For i = 0 To MSHFlexGrid.Rows - 1 '行循环
        For j = 0 To MSHFlexGrid.Cols - 1 '列循环
            MSHFlexGrid.Row = i
            MSHFlexGrid.Col = j
            '保存到EXCEL
            xlBook.Worksheets("Sheet1").Cells(i + 1, j + 1) = MSHFlexGrid.Text
        Next j
    Next i
    MSHFlexGrid.Redraw = True
End Sub</span>

  在机房收费系统中,学生查看上机记录、学生充值记录查询、收取金额查询、金额返还信息查询、学生上机统计信息等窗体在运行的过程中都需要将显示在MSHFlexGrid控件中的查询结果导入到Excel表格中,于是,如何编写代码就成了新的挑战,第一次接触,只好站在巨人的肩膀上了,前人栽树后人乘凉的度娘总是那样无私:

1.在与VB工程同一根目录中建立将要导入数据的Excel表格,给出与代码书写中一致的命名

2.例如”学生查看上机记录“中代码如下:


机房的电脑上装的是Office2013,新建的表格没显示后缀名,导致运行时报错:

那么,怎样显示Excel的文件后缀名?

答:随便打开一个文件夹,左上角菜单“组织”——文件夹和搜索选项——查看——将“隐藏已知文件类型的扩展名”前面的勾去掉——确定。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是将VB6.0 Datagrid中的数据导出Excel的示例代码: ``` Private Sub cmdExport_Click() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim i As Integer Dim j As Integer ' 创建Excel应用程序对象 Set xlApp = New Excel.Application ' 创建新的工作簿 Set xlBook = xlApp.Workbooks.Add ' 获取默认工作 Set xlSheet = xlBook.Worksheets(1) ' 复制datagrid头到Excel工作 For i = 0 To DataGrid1.Columns.Count - 1 xlSheet.Cells(1, i + 1).Value = DataGrid1.Columns(i).Caption Next ' 复制datagrid数据Excel工作 For i = 0 To DataGrid1.Rows.Count - 1 For j = 0 To DataGrid1.Columns.Count - 1 xlSheet.Cells(i + 2, j + 1).Value = DataGrid1.Columns(j).CellText(i) Next Next ' 显示Excel应用程序 xlApp.Visible = True ' 释放对象 Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub ``` 在代码中,我们首先创建了一个Excel应用程序对象,并通过它创建了一个新的工作簿和默认的工作。然后,我们将Datagrid头复制到Excel工作的第一行,将Datagrid数据复制到Excel工作的后续行。最后,我们显示Excel应用程序,并释放了所有对象。 请注意,此代码需要引用Microsoft Excel 11.0 Object Library。要添加此引用,请打开项目菜单,选择引用,然后选择“Microsoft Excel 11.0 Object Library”并单击确定。如果您正在使用不同版本的Excel,请选择相应的版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值