【机房收费系统】之收取金额查询

前言:i+1的学习

收取金额查询主要有两部分:查询和导出Excel表。

查询还OK。之前做学生时就有过很多次查询,基本大同小异。

本窗体难点在于如何导出Excel表。这就是需要我们学习和掌握的+1部分了。刚开始接触时,我还挺懵的,不知道如何下手,不过查查百度、站在“巨人”的肩膀后,思路渐渐也就清晰了不少。这也正应了编程的一句诗“山重水复疑无路,柳暗花明又一村。”

导出Excel表,首先需要引用EXcel。遗憾的是,找了半天也没找到。这就让我很疑惑呀,明明电脑上有Excel呀,为什么找不到呢?后来我的方法如下:

【机房收费系统】之收取金额查询_第1张图片

【机房收费系统】之收取金额查询_第2张图片

注意:文件类型为可执行文件。

好了,成功引用后,就需要开始写代码了。

​Public Sub ExportExcel(ByVal formname As Form, myFlexGrid As MSHFlexGrid)'(myFlexGrid As MSFlexGrid) 
 
    '定义循环变量    
    Dim i As Integer    
    Dim j As Integer  
      
    '定义表,工作簿,工作表    
    Dim Excelapp As Excel.Application    
    Dim Excelbook As Excel.Workbook    
    Dim Excelsheet As Excel.Worksheet    
    Dim ExcelRange As Excel.Range        '显示表,工作簿,工作表 
   
    Set Excelapp = CreateObject("Excel.application")    '建立一张表    
    Set Excelbook = Excelapp.Workbooks.Add              '添加新的工作簿    
    Set Excelsheet = Excelbook.Worksheets(1)            '建立工作表  
      
    DoEvents        '空值验证
    
    If myFlexGrid.Rows - 1 <= 0 Then        
        MsgBox "无数据,请勿导出!", vbOKOnly + vbExclamation, "警告"        
        Exit Sub    
    Else 
       
    '将MSHFlexGrid中的内容显示到表格中    
    With myFlexGrid        
        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 & "\导出     Excel.xls"                                         
    Excelapp.ActiveWorkbook.Saved = True    '保存表格        
    Excelapp.Quit       '退出表        
        MsgBox "导出完成!", vbInformation, "提示"   
    End If    
End Sub​

 

到此,学习并未结束。因为这次机房中有多次要到出Excel表。小技巧:将上述代码写在模块中,使用时,只需在相应的窗体中调用即可。

 

 

你可能感兴趣的:(第一次机房收费系统)