机房收费系统-导出excel

简介: 机房收费系统-导出excel
Private Sub Command5_Click()
    Dim xlsapp As Excel.Application                 '定义excel程序
    Dim xlsbook As Excel.Workbook                   '定义工作簿
    Dim xlssheet As Excel.Worksheet                 '定义工作表
    Dim j As Long
    Dim i As Long
    Set xlsapp = CreateObject("excel.application")  '创建应用程序
    Set xlsbook = xlsapp.Workbooks.Add
    Set xlssheet = xlsbook.Worksheets(1)            '设置应用表
    With xlsapp
         .Rows(1).Font.Bold = True                  '设置字体格式
    End With
    For i = 0 To MSFlexGrid1.Rows - 1               '把msflexgrid1的内容写入到电子表格中
        For j = 0 To MSFlexGrid1.Cols - 1
            xlssheet.Cells(i + 1, j + 1) = "'" & MSFlexGrid1.TextMatrix(i, j)
        Next j
    Next i
    xlsapp.Visible = True
End Sub

这是在敲学生信息维护的窗体时用的窗体,这个代码的好处就是没有太多的代码,还有一点就是他不会出现重复导出时出现错误,之前的代码因为存在保存的功能,在重复导出时取消会出现错误,而这个和它相比就是没有保存的功能,但是如果没有太多直接不必要的功能代码出现错误的概率就会小很多,下面是之前的代码,还请大神给分析他们两个不同与思路。

Private Sub cmdexportexcel_Click()
    Dim Excelapp As Excel.Application
    Dim Excelbook As Excel.Workbook
    Dim Excelsheet As Excel.Worksheet
    Dim ExcelRange As Excel.Range
    Dim i As Integer
    Dim j As Integer
    Set Excelapp = CreateObject("Excel.application") '创建一个excel应用程序对象
    Set Excelbook = Excelapp.Workbooks.Add '创建一个工作簿
    Set Excelsheet = Excelbook.Worksheets(1) '创建一个工作簿
    DoEvents
    '因以下代码运行时间较长,所以转让控制权,让操作系统处理其他事件,避免操作不响应误认为死机
    If MSFlexGrid1.Rows <= 1 Then
        MsgBox "没有可导出数据!", vbOKOnly, "温馨提示:"
    End If
    With MSFlexGrid1
        For i = 0 To .Rows - 1  '循环添加行内容
            For j = 0 To .Cols - 1  '循环添加列内容
            DoEvents
            Excelapp.ActiveSheet.Cells(i + 1, j + 1) = .TextMatrix(i, j) '添加单元格内容
            Next j
        Next i
    End With
    Excelapp.ActiveWorkbook.SaveAs App.Path & "\学生上机查询.xls"  '设置excel保存路径
    Excelapp.ActiveWorkbook.Saved = True '保存excel表格
    MsgBox "导出成功!", vbOKOnly, "温馨提示:"
    Excelapp.Visible = True '显示表格
    Set Excelapp = Nothing
    Set Excelbook = Nothing
    Set Excelsheet = Nothing
End Sub
相关文章
|
23天前
|
easyexcel
【EasyExcel】第二篇:导出excel文件,导出多个sheet工作空间
【EasyExcel】第二篇:导出excel文件,导出多个sheet工作空间
|
13天前
|
easyexcel 数据库
公司大佬对excel导入、导出的封装,那叫一个秒啊
封装公司统一使用的组件的主要目标是为了简化开发人员的调用流程,避免各个项目组重复集成和编写不规范的代码。文中提到对阿里EasyExcel进行了二次封装,提供了导入和导出功能,并支持模板的导入和导出。此外,还处理了读取数据与实际保存数据不一致的情况,通过提供自定义转换器来解决。
36 0
|
13天前
|
数据库
开发指南009-从list导出excel文件
从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法
|
13天前
|
前端开发
开发指南007-导出Excel
平台上开发导出Excel比过去的单体架构要复杂些,因为前端和后台不在一个进程空间里。
|
23天前
|
C#
C# gridControl 导出Excel
C# gridControl 导出Excel
|
1月前
|
SQL 数据库连接 数据库
【SQL Server】2. 将数据导入导出到Excel表格当中
【SQL Server】2. 将数据导入导出到Excel表格当中
43 0
|
2月前
|
NoSQL 关系型数据库 MySQL
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队; 刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;还考虑到异步,可能还需要建个文件导出表,主要记录文件的导出情况,文件的存放地址,用户根据文件列表情况下载导出文件。
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
|
24天前
|
JavaScript 前端开发
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
|
4月前
|
Java Apache Spring
springboot如何导出Excel某个表的表字段以及字段类型
springboot如何导出Excel某个表的表字段以及字段类型
34 0