【机房收费系统】---导出Excel表

一、背景

机房收费系统中有很多地方用到了“导出Excel表”这个功能,那么,怎么导出呢?

二、导出Excel表

1、电脑安装office

2、引用

之前已经有一篇博客介绍过如何引用控件(点我查看

3、实现VB与Excel的交互

方法(1)

直接使用代码实现交互。

 

Private Sub cmdExport_Click()
    
    '导出为Excel表格
    Dim introws As Integer                           '用作循环,表示MSHFlexGrid的总行数
    Dim intcols As Integer                           '用作循环,表示MSHFlexGrid的总列数
    Dim XlsApp As excel.Application                  '定义excel对象
    Dim XlsSheet As excel.Worksheet                  '定义excel的表
    Dim XlsBook As excel.Workbook                    '定义excel工作簿
    
    Set XlsApp = CreatObject("Excel.Application")    '实例化Excel对象
    Set XlsBook = XlsApp.Workbooks.Add               '加载工作簿
    Set XlsSheet = XlsBook.Worksheets(1)             '创建工作表
    
    '循环,导出MSHFlex1中所有记录到Excel
    For introws = 0 To MSHFlexGrid1.Rows - 1
    For intcols = 0 To MSHFlexGrid1.Cols - 1
    If intcols = 0 Then                              '第一列为学号,将其转换成字符串格式,否则首位的0无法显示
        XlsSheet.Cells(introws + 1, intcols + 1) = "'" & MSHFlexGrid1.TextMatrix(introws, intcols)
    Else
        SlsSheet.Cells(introws + 1, intcols + 1) = MSHFlexGrid1.TextMatrix(introws, intcols)
    End If
    Next intcols
    Next introws
    
    '释放对象
    XlsApp.Visible = True
    Set SlsApp = Nothing
    
End Sub


方法(2)

我们已经知道了有hin多窗体要用到这个功能,那么这些代码也是需要多次被复制粘贴的。可能有的人已

觉得这样挺方便了,几乎没有技术含量了。但是,作为更高效的人,应该想到更加简便的方法,不将

就。没错,我们可以利用模块的功能。把代码写进公共模块中,需要的时候直接用简单几行代码调用

Call  Export(MSHFlexGrid1) )就可以了。


以下是代码:(与直接导出的代码有细微区别,请自己发现吧。)

Public Function Export(myGrid As MSHFlexGrid)  

    '导出为Excel表格
    Dim introws As Integer                            '用做循环,表示MSHFlexGrid的总行数
    Dim intcols As Integer                            '用做循环,表示MSHFlexGrid的总列数
    Dim XlsApp As excel.Application                   '定义Excel对象
    Dim XlsSheet As excel.Worksheet                   '定义Excel的表
    Dim XlsBook As excel.Workbook                     '定义Excel的工作簿

    If myGrid.Text = "" Then
        MsgBox "没有记录!", vbOKOnly, "提示"
        Exit Function
    End If
    
    Set XlsApp = CreateObject("Excel.Application")    '实例化Excel对象
    Set XlsBook = XlsApp.Workbooks.Add                '加载工作簿
    Set XlsSheet = XlsBook.Worksheets(1)              '创建工作表

    '循环,导出MSHFlex1中的所有记录到Excel
    For introws = 0 To myGrid.Rows - 1
        For intcols = 0 To myGrid.Cols - 1
            If intcols = 0 Then                       '第一列为学号,将其转换成字符串格式,否则首位的0无法显示
                XlsSheet.Cells(introws + 1, intcols + 1) = "'" & myGrid.TextMatrix(introws, intcols)
            Else
                XlsSheet.Cells(introws + 1, intcols + 1) = myGrid.TextMatrix(introws, intcols)
            End If
        Next intcols
    Next introws

    '释放对象
    XlsApp.Visible = True
    Set XlsApp = Nothing

End Function

(其中,“Export"控件名称,由自己命名即可。)



评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨幂等

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值