前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机房收费系统————导出到Excel

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

作者头像
全栈程序员站长
发布2022-08-09 20:36:30
发布2022-08-09 20:36:30
73600
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
复制
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数据库的记录中导出

代码语言:javascript
代码运行次数:0
运行
复制
Private Sub cmdExport_Click()
代码语言:javascript
代码运行次数:0
运行
复制
    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
代码语言:javascript
代码运行次数:0
运行
复制
End Sub

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档