将MSHFlexGrid中的数据保存到Excel表

       一直放着导出为Excel的这一步,以前一直觉得这个应该不好做吧,但是今天把代码写出来,才觉得没有想象的那么难.

       首先,引用对象:Microsoftexcel 14.0 object library

      将MSHFlexGrid中的数据保存到Excel表

      接下来就是代码的设置了:

   

Dim TempExcel As Excel.Application   '声明一个Excel工作表
Dim TempSheet As Excel.Worksheet    '声明一个excel工作簿
Dim TempRow As Integer  '定义表格控件中的行数
Dim TempCol As Integer  '定义表格控件中的列数


 

上面是声明部分,所需变量。

然后是核心代码:

'先判断是否查询到数据
    If myFlexGrid.Rows > 1 Then      '如果查询到数据
        Set TempExcel = New Excel.Application '实例化应用程序
        TempExcel.Application.Visible = True  '显示Excel
        
        '在程序中添加一个工作簿
        TempExcel.Workbooks.Add (1)
        
        '实例化表单,使这个表单称为活动工作簿中的活动表单
        Set TempSheet = TempExcel.ActiveWorkbook.ActiveSheet
        
        
        '将表格中的数据导入到活动表单
        For TempRow = 0 To myFlexGrid.Rows - 1     '行循环
            For TempCol = 0 To myFlexGrid.Cols - 1  '列循环
                TempSheet.Cells(TempRow + 1, TempCol + 1) = myFlexGrid.TextMatrix(TempRow, TempCol)
            
            Next TempCol
        Next TempRow
    Else      '如果没有查询数据
        MsgBox "没有查询到任何数据,将退出导出过程!", vbOKOnly + vbExclamation, "警告"
        Exit Sub
    End If


这个过程跟ADO对象的使用很像,都是先声明,然后实例化,再使用的过程。其中用了个循环来使MSHFLEXGRID控件中的数据显示到Excel表中。

 

 

上一篇:【省钱攻略】阿里云618上云拼团接力赛,云通信、CDN、物联网卡优惠最强解读


下一篇:学生上机信息统计——对两张表的联合查询