知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

时间:2023-03-09 13:27:35
知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

熟话说万物皆有其存在的道理,为什么我突然想写《知识共享图文直播》这个系列呢?首先,我想的是记录自己学习的历程,在记录中加深自己对知识的理解,同时也希望自己的博文能帮助到其他数据库的初学者。其次,这也算借鉴了其他人的一个好的想法吧。

一、我们所处的环境

1、看窗体布局

知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

2、了解目标表

知识共享图文直播---(一)将数据库中的数据加载到MSFlexGrid空间中再导入Excel

二、数据导入MSFlexGrid控件中

  1. Dim strSQL As String
  2. Dim strMsg As String
  3. Dim objRs As ADODB.Recordset
  4. Dim n As Integer
  5. '提取学生信息
  6. strSQL = "select * from student_Info where cardno='" & txtCardNo.Text & "'"
  7. Set objRs = ExecuteSQL(strSQL, strMsg)
  8. '显示列名
  9. With MSFlexGrid1
  10. '.Row = 0
  11. .TextMatrix(0, 0) = "卡号"
  12. .TextMatrix(0, 1) = "学生姓名"
  13. .TextMatrix(0, 2) = "充值金额"
  14. .TextMatrix(0, 3) = "充值日期"
  15. .TextMatrix(0, 4) = "充值时间"
  16. .TextMatrix(0, 5) = "充值教师"
  17. '有选择的显示记录,对比表中的列名可知
  18. n = 0
  19. While Not objRs.EOF
  20. MSFlexGrid1.AddItem (objRs!cardno & vbTab & objRs!studentName & _
  21. vbTab & objRs!cash & vbTab & objRs!Date & _
  22. vbTab & objRs!Time & vbTab & objRs!UserID)
  23. n = n + 1
  24. objRs.MoveNext
  25. Wend
  26. End With

三、将控件中显示数据导入Excel表格

1、首先我们先在模块中建立执行此过程的方法,如下:

  1. <pre name="code" class="vb">Public Sub OutDataToExcel(Flex As MSFlexGrid)
  2. '***********************************************************
  3. '作用:定义一个过程,实现将MSFlexGrid控件中的数据导入Excel表格
  4. '输入参数:无
  5. '返回值:
  6. '创建日期:2013.8.23
  7. '修改日期:
  8. '作者:十期提高班 Senior_Lee
  9. '****************************************
  10. Dim s As String
  11. Dim i, j, k As Integer
  12. On Error GoTo Err
  13. 'Me.MousePointer = 11
  14. Dim Excelapp As Excel.Application
  15. Set Excelapp = New Excel.Application
  16. On Error Resume Next
  17. DoEvents
  18. Excelapp.SheetsInNewWorkbook = 1
  19. Excelapp.Workbooks.Add
  20. 'Excelapp.ActiveSheet.Cells(1, 1) = s
  21. 'Excelapp.Range("c1").Select               '选中某一个单元格
  22. 'Excelapp.Selection.Font.Size = 16         '设置选中单元格的字体
  23. With Flex
  24. k = .Rows
  25. For i = 0 To k - 1
  26. For j = 0 To .Cols - 1
  27. DoEvents
  28. Excelapp.ActiveSheet.Cells(1 + i, j + 1) = "'" & .TextMatrix(i, j)
  29. Next j
  30. Next i
  31. End With
  32. 'Me.MousePointer = 0
  33. Excelapp.Visible = True
  34. 'Excelapp.Sheets.PrintPreview              '默认显示,打印预览窗体,注释之后直接显示Excel表格
  35. '错误处理
  36. Err:
  37. If Not (Excelapp Is Nothing) Then
  38. Excelapp.Quit
  39. End If
  40. End Sub
     2、在窗体中调用
Private Sub cmdOutPut_Click()
'***************************************
'作用:将学生充值记录导入Excel表格
'输入参数:
'返回值:
'创建日期:
'修改日期:
'作者:
'*************************************
OutDataToExcel MSFlexGrid1
End Sub     
     写完之后总觉得少点东西,文章页仅仅是记录;在接下来的文章中会慢慢的加入自己的思考的。同时也希望该文对数据库的初学者有帮助。