机房收费系统之导出为Excel

简介: <p><span style="font-family:KaiTi_GB2312; font-size:24px"><span style="white-space:pre"></span><span style="white-space:pre"></span>在学生信息管理系统中,有很多查询窗体。在机房收费系统中,也不例外。不过,前者只要求将数据显示在窗体中,后者则多了一步,即:将查询

在学生信息管理系统中,有很多查询窗体。在机房收费系统中,也不例外。不过,前者只要求将数据显示在窗体中,后者则多了一步,即:将查询到的信息导出为Excel表的形式。

这样的工作好熟悉,因为在作品展中试过很多次了。那时候,还没有学数据库,师父就让我们用Excel表来存储数据,以显示出来。所以,做起来还是比较得心应手的。

第一个窗体,学生查看上机记录,没有多想,就直接在导出为Excel命令下编写代码:

<span style="font-family:KaiTi_GB2312;font-size:24px;">Private Sub cmdExcel_Click()

    '直接创建程序导出到Excel表中
    
    Dim xlsApp As New Excel.Application    '定义Excel程序
    Dim xlsBook As Excel.Workbook          '定义工作簿
    Dim xlsSheet As Excel.Worksheet        '定义工作表
    
    Dim i As Integer                       '定义控件的行值
    Dim j As Integer                       '定义控件的列值
    
    If FlexOnlineRecord.Text = "" Then     '判断控件是否有内容
        MsgBox "没有记录可导出!", vbOKOnly + vbExclamation, "警告"
        Exit Sub
    Else
        Set xlsBook = xlsApp.Workbooks.Add(1)            '创建新的工作簿
        Set xlsSheet = Excel.ActiveWorkbook.ActiveSheet  '创建新的工作表单
        
        For i = 0 To FlexOnlineRecord.Rows - 1           '显示数据
            For j = 0 To FlexOnlineRecord.Cols - 1
            xlsSheet.Cells(i + 1, j + 1) = FlexOnlineRecord.TextMatrix(i, j)
            Next j
        Next i
        
        xlsApp.Visible = True              '显示Excel表格
        'Set xlsApp = Nothing '交还控制给Excel
        xlsApp.Sheets(1).Columns.EntireColumn.AutoFit '自动调整列宽
    End If
    
End Sub</span>
后来想想,好几个窗体都要求将查询结果导入到Excel中,这样重复的代码量太多了,何不妨自己添加一个过程,到时候直接调用就可以了。于是,在模块中添加了一个名为ExportToExcel的过程,

<span style="font-family:KaiTi_GB2312;font-size:24px;">Public Sub ExportToExcel(FormName As Form, flex As MSFlexGrid)   </span>
<span style="font-family:KaiTi_GB2312;font-size:24px;">    '导出为Excel表的过程,前者为当前工作的窗体名,后者为控件名。
    
    Dim xlsApp As Object
    Dim xlsBook As Object
    Dim xlsSheet As Object
    
    Screen.MousePointer = vbHourglass
    
    Set xlsApp = New Excel.Application
    Set xlsBook = xlsApp.Workbooks.Add
    Set xlsSheet = xlsBook.Worksheets(1)
    
    On Error GoTo Err_proc
    
    Dim i As Integer
    Dim j As Integer
    
    With flex                           '将数据写入Excel表中
        For i = 0 To .Rows - 1
            For j = 0 To .Cols - 1
                xlsSheet.Cells(i + 1, j + 1).Value = "'" & .TextMatrix(i, j)
                
            Next j
        Next i
    End With
    
    xlsApp.Sheets(1).Columns.EntireColumn.AutoFit '自动调整列宽
    xlsApp.Visible = True
    Screen.MousePointer = vbDefault
    Exit Sub
    
Err_proc:

    Screen.MousePointer = vbDefault
    MsgBox "请确认您的电脑已安装Excel,或是否安装正确!", vbExclamation, "机房收费系统"

End Sub
</span>
其中,也许有的电脑上没有安装Excel程序,所以可以事先进行错误处理。有了这样一个过程,就方便多了,第二个窗体,......,后面的窗体,就可以在导出为Excel命令下直接编写代码为:

<span style="font-family:KaiTi_GB2312;font-size:24px;">Private Sub cmdExcel_Click()

    Call ExportToExcel(frmInquireRechargeRecord, MSFlexRechargeRecord)              ’调用导出为Excel表过程
    
End Sub</span>
这样确实简单很多,但文章的主要目的不是为了展示编写的代码,好让我们省事。而是,我想,其实,很多时候,解决问题的方法都不只只是一种,每个人思考的不同,方法也就会有所不同。代码的编写,也不是唯一的,只要自己思考过,即使运行失败了,也算是一种成功。



目录
相关文章
|
29天前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
28 0
|
3天前
|
存储 Java
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
20 2
|
1月前
|
前端开发 JavaScript
使用Vue+xlsx+xlsx-style实现导出自定义样式的Excel文件
本文介绍了在Vue项目中使用`xlsx`和`xlsx-style`(或`xlsx-style-vite`)库实现导出具有自定义样式的Excel文件的方法,并提供了详细的示例代码和操作效果截图。
282 1
使用Vue+xlsx+xlsx-style实现导出自定义样式的Excel文件
|
1月前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
30 1
使用Python+openpyxl实现导出自定义样式的Excel文件
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何直接导出excel文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
1月前
|
JavaScript 前端开发 easyexcel
基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的前后端完整过程
本文展示了基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的完整过程,包括后端使用EasyExcel生成Excel文件流,前端通过Blob对象接收并触发下载的操作步骤和代码示例。
188 0
基于SpringBoot + EasyExcel + Vue + Blob实现导出Excel文件的前后端完整过程
|
1月前
|
数据管理 数据处理 数据库
分享一个导出数据到 Excel 的解决方案
分享一个导出数据到 Excel 的解决方案
|
1月前
|
SQL
SQL SERVER 查询表结构,导出到Excel 生成代码用
SQL SERVER 查询表结构,导出到Excel 生成代码用
31 0
|
2月前
|
Java 数据安全/隐私保护
Java无模版导出Excel 0基础教程
经常写数据导出到EXCEL,没有模板的情况下使用POI技术。以此作为记录,以后方便使用。 2 工具类 样式工具: 处理工具Java接口 水印工具 导出Excel工具类 3 测试代码 与实际复杂业务不同 在此我们只做模拟 Controller Service 4 导出测试 使用Postman进行接口测试,没接触过Postman的小伙伴可以看我这篇博客Postman导出excel文件保存为文件可以看到导出很成功,包括水印 sheet页名称自适应宽度。还有一些高亮……等功能可以直接搜索使用
Java无模版导出Excel 0基础教程
|
1月前
|
关系型数据库 MySQL Shell
pandas读取mysql并导出为excel
pandas读取mysql并导出为excel