将MSHFlexGrid中的查询结果导出到excel

在敲“充值记录查询“窗体的时候,要求可以将数据导出到excel中。在这个环节上,遇到了那个我一直不是很熟悉的循环语句。

不过还好,终于在不断的尝试中基本掌握了。现在就以”充值记录查询“窗体为例,来纪念一下我的这次成长。

Private Sub cmdExcel_Click()
    Dim newxls As excel.Application, newbook As excel.Workbook, newsheet As excel.Worksheet
    Dim i As Integer, j As Integer
    
    strSQL = "select * from Recharge_Info where CardNo='" & Trim(txtCardNo.Text) & "'"
    Set ObjRs = ExecuteSQL(strSQL, MsgText)
     
    If ObjRs.RecordCount = 0 Then
        MsgBox "没有数据可供导出!", , "提示"
        Exit Sub
        
    End If
    
    Set newxls = CreateObject("Excel.Application") '创建excel应用程序,打开excel
    Set newbook = newxls.Workbooks.Add   '创建工作簿
    Set newsheet = newbook.Worksheets(1) '创建工作表
    
    With newxls
        .Rows(1).Font.Bold = True
    
    End With
    On Error Resume Next         '如果有错误继续执行下一条
    
    For i = 0 To MSHFlexGrid1.Rows
        For j = 0 To MSHFlexGrid1.Cols
            newsheet.Cells(i + 1, j + 1) = "'" & MSHFlexGrid1.TextMatrix(i, j)
        Next j
    Next i
     
    newxls.Visible = True
   
    Set newxls = Nothing
    
End Sub


在newsheet.Cells(i + 1, j + 1) = " ' " & MSHFlexGrid1.TextMatrix(i, j)中,之所以要加一个分号(')是因为有时候学号是以0开头的,如果不加的话导出excel后就会被自动去掉,加了以后是以字符串形式导出的,不会造成数据导出的残缺。

作者信息+原文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值