在VB程序中,经查找筛选显示在MSHFlexGrid中的数据,导出到Excel中。分析一下,其实特别简单,MSHFlexGrid中数据是从数据库中的表中调出来的,然后显示在MSHFlexGrid中,然后再将MSHFlexGrid中数据的数据放到Excel中,说来说去,都是表到表的数据操作工作。
所以思路就有了:1.对相关的EXCEL对象进行声明,2,.将MSHFlexGrid中数据导入到Excel表中(定义循环变量,行列依次循环写入到表中,)3.最后给出一个提示(当MSHFlexGrid中没有数据的时候)处理完成。
代码如下:
'将查询到的上机记录导入到excel表格中 If txtCardno.Text <> "" Then Dim tmpExcel As Excel.Application Dim tmpSheet As Excel.Worksheet '声明一个EXCEL工作簿 Dim inthang As Integer '行循环变量 Dim intlie As Integer '列循环变量 '实例化Excel应用程序,并使其可见 Set tmpExcel = New Excel.Application tmpExcel.Application.Visible = True '在Excel应用程序中增加一个工作薄 tmpExcel.Workbooks.Add (1) '实例化一个工作表,并使其成为Excel程序中活动工作表 Set tmpSheet = tmpExcel.ActiveWorkbook.ActiveSheet '将MSHFlexGrid 表格中数据,导入到excel活动表单中 For inthang = 0 To myflexgrid.Rows - 1 For intlie = 1 To myflexgrid.Cols - 1 tmpSheet.Cells(inthang + 1,intlie) = myflexgrid.TextMatrix(inthang,intlie) Next intlie Next inthang Else '表中没有数据,显示提示信息 MsgBox "没有可导出的数据!",vbOKOnly + vbExclamation,"警告" Exit Sub End If