首页 > 代码库 > 机房收费系统———如何将MSFlexGrid中的数据导入到Excel中

机房收费系统———如何将MSFlexGrid中的数据导入到Excel中

       

          机房收费系统进行了一段时间了,虽然说大体上跟学生信息管理系统一样,不过也有不一样的地方。比如说报表、如何将MSFlexGrid中德数据导入到Excel中等等。这些东西原来没有接触过,第一次接触难免有些陌生。这些问题困扰了我好长-时间,一看到它头都大了。不过,提高班名言——不将就是发现的源动力。本着这一原则,慢慢的攻克了这些问题。

    机房收费系统中好几个地方需要将MSFlexGrid中德数据导入到Excel中,这是在学生信息管理系统中没有的功能。首先,首先需要在vb里面引用我们所需要的对象:Microsoft excel 14.0 object library。因为好几个窗体都要用到这个,所以为了简单起见,直接在模块中进行声明一下,到时候直接调用就Ok了。

 

下边是模块中的代码:

  1. ‘MSHflexgrid 控件中的数据导入到excel表中  
  2. Public Sub export(formname As Form, flexgridname As String)   ‘参数传递  
  3.         Dim xlApp As Object                     ‘创建一个类 用来创建excel实例化对象  
  4.         Dim xlBook As Object                    ‘Excel.Workbook           ‘用来创建工作薄  
  5.         Dim xlSheet As Object                   ‘Excel.Worksheet     ‘用来创建一个工作表  
  6.         
  7.         ‘鼠标指针的形状变为沙漏型,表明正在导入数据  
  8.         Screen.MousePointer = vbHourglass  
  9. On Error GoTo Err_Proc                                      ‘错误处理过程  
  10.         Set xlApp = CreateObject("Excel.Application")       ‘将类xlApp实例化为一个excel表  
  11.         Set xlBook = xlApp.Workbooks.Add  
  12.         Set xlSheet = xlBook.Worksheets(1)          ‘表的名字也可以更改,不再叙说  
  13.   
  14.         ‘将数据填入到excel中  
  15.         Dim lngRows As Long  
  16.         Dim intCols As Integer  
  17.         With formname.Controls(flexgridname)  
  18.             ‘对行和列进行循环  
  19.             For lngRows = 0 To .Rows - 1  
  20.                     For intCols = 0 To .Cols - 1  
  21.                         xlSheet.Cells(lngRows + 1, intCols + 1).Value = "‘" & .TextMatrix(lngRows, intCols)  
  22.                     Next intCols  
  23.             Next lngRows  
  24.         End With  
  25.         xlApp.Visible = True  
  26.         Screen.MousePointer = vbDefault  
  27.         Exit Sub  
  28. Err_Proc:  
  29.         ‘鼠标回复原样  
  30.         Screen.MousePointer = vbDefault  
  31.         MsgBox "请确认您的电脑已安装Excel!", vbExclamation, "提示"  
  32.      
  33. End Sub  

 

当调用这个过程时,只需要

 

  1. Private Sub cmdLead_Click()  
  2.      Call export(Me"myflexgrid")  
  3. End Sub 

 

这样就Ok了。

    这只是将MSFlexGrid中德数据导入到Excel中的其中一种方法,相信还有很多种方法可以实现这一过程。在这里就不一一论述了,以上有不足之处,还望各位朋友指正。

机房收费系统———如何将MSFlexGrid中的数据导入到Excel中