机房收费系统————导出到Excel

机房收费系统————导出到Excel机房收费系统————导出到Excel

大家好,又见面了,我是你们的朋友全栈君。

机房收费系统中有很多之前在敲学生的时候没有接触到的功能,遇到的第一个陌生的就是把数据导出到Excel中,那么这个功能是怎么实现的呢?


首先,在VB中“工程”——>”引用”中添加引用

机房收费系统————导出到Excel

如果没有这个选项,单击右边的浏览,找到路径:c:\ Program Files \ Microsoft Office \ Office 15 下的  EXCEL.exe 添加就可以了。(这个方法可能会因为电脑的不同有所差异,不一样的话自己研究一下就好了,总之就是要添加引用)

机房收费系统————导出到Excel

接下来就是通过代码实现功能,大体上有两种实现方法

法一:数据从VB控件 MSHFlexGrid 中导出

Private Sub cmdExport_Click()
    Dim i As Integer
    Dim j As Integer
    
    On Error Resume Next
    If myflexgrid.TextMatrix(1, 0) = "" Then
        MsgBox "没有数据导出", vbInformation, "提示"
        Exit Sub
    End If
    
    Dim excelApp As Excel.Application
    Set excelApp = New Excel.Application
    Set excelApp = CreateObject("excel.application")
    Dim exbook As Excel.Workbook
    Dim exsheet As Excel.Worksheet
    Set exbook = excelApp.Workbooks.Add
    
    excelApp.SheetsInNewWorkbook = 1
    excelApp.Visible = True
    Me.MousePointer = vbHourglass
    
    With excelApp.ActiveSheet
        For i = 1 To myflexgrid.Rows
            For j = 1 To myflexgrid.Cols
                .Cells(i, j).Value = "" & Format$(myflexgrid.TextMatrix(i - 1, j - 1))
            Next j
        Next i
    End With
    
    Me.MousePointer = 0
    Set exsheet = Nothing
    Set exbook = Nothing
    Set excelApp = Nothing
    
End Sub

法二:数据从SQL Server数据库的记录中导出

Private Sub cmdExport_Click()
    Dim i As Integer
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset
    Dim x1app1 As Excel.Application
    Dim x1book1 As Excel.Workbook
    Dim x1sheet1 As Excel.Worksheet
    
    Set x1app1 = CreateObject("excel.application")
    Set x1book1 = x1app1.Workbooks.Add
    Set x1sheet1 = x1book1.Worksheets(1)
    
    txtSQL = "select cardNo,Date,time,CancelCash,UserID,status from CancelCard_Info where date between '" & Trim(DTPicker1.Value) & "' and '" & Trim(DTPicker2.Value) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)
    
    For i = 0 To mrc.Fields.Count - 1
        x1sheet1.Cells(1, i + 1) = mrc.Fields(i).Name
    Next i
    
    If Not mrc.EOF Then
        mrc.MoveFirst
        x1sheet1.Range("A2").CopyFromRecordset mrc
        mrc.Close
    End If
    Set mrc = Nothing
    x1app1.Visible = True
    Set x1app1 = Nothing
End Sub


(第一次在csdn上写,还有点小激动呢)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/105792.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号