Private Sub cmdexportexcel_Click()
Dim ExcelApp As Excel.Application '定义Excel表格应用程序
Dim ExcelBook As Excel.Workbook '定义Excel表格工作簿
Dim ExcelSheet As Excel.Worksheet '定义Excel表格工作表
Dim i As Integer '定义excel表中的行变量
Dim j As Integer '定义excel表中的列变量
Set ExcelApp = CreateObject("Excel.application") '创建一个excel应用程序对象
Set ExcelBook = ExcelApp.Workbooks.Add '创建一个工作簿
Set ExcelSheet = ExcelBook.Worksheets(1) '创建一个工作表
DoEvents
'因以下代码运行时间较长,所以转让控制权,让操作系统处理其他事件,避免操作不响应误认为死机
If myflexgrid.Rows <= 1 Then
MsgBox "没有可导出数据!", vbOKOnly, "温馨提示:"
End If
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 & "\学生查询.xls" '设置Excel保存路径
ExcelApp.ActiveWorkbook.Saved = True '保存excel表格
MsgBox "导出成功!", vbOKOnly, "温馨提示:"
ExcelApp.Visible = True '显示excel表格
Set ExcelApp = Nothing '释放ExcelApp对象
Set ExcelBook = Nothing
Set ExcelSheet = Nothing
End Sub