下面我来说下,把vb中的内容导出到Excel的基本过程
1.首先vb与Excel连接需要一个桥梁,这个桥梁就是封装在vb中的函数,所以要先调用这个函数(即引用),引用过程如下
VB—工程— 引用—Microsoft Excel 14.0 Object Library— 确定
2. 以将vb中的MSHFlexGrid控件里边的内容导入到Excel为例进行说明
1)对于Excel表格我们应该都很熟悉,现在回想一下使用Excel的过程。
首先我们要有Excel应用程序即电脑中已经安装了Excel软件(Microsoft Office)
打开Excel应用程序,你能看到的是一个工作簿
工作簿中又包含了几个工作表
(关于Excel有个比喻:工作簿就像一本书,工作表是工作簿中的一页,excel打开的是工作簿,工作簿中的Sheet1、Sheet2、Sheet3...........等等就是它其中的一张表)
2)在vb中调用这个函数也要有相应的几个步骤,即
应用程序——工作簿——工作表
3)我以代码来展示2)中详细的应用过程
Private Sub cmdExcel_Click()
'将MSHFlexgrid表中的记录导入Excel表格中
Dim TempExcel As Excel.Application '定义一个Excel应用程序
Dim TempBook As Excel.Workbook '定义一个Excel工作簿
Dim TempSheet As Excel.Worksheet '定义一个Excel工作表
Dim MyRow As Long, MyCol As Long '定义循环变量
'判断Mshflexgrid表中有没有可导出的数据
If MSHFlexGrid.Rows > 1 Then
Set TempExcel = New Excel.Application '创建Excel应用程序,并使其实例化
Set TempBook = TempExcel.Workbooks.Add '添加一个Excel工作簿
Set TempSheet = TempBook.Worksheets.Add '添加一个Excel工作表
TempExcel.Visible = True '使报表可见
'将MShflexgrid表格中的内容循环导出到Excel中
For MyRow = 1 To MSHFlexGrid.Rows
For MyCol = 1 To MSHFlexGrid.Cols
TempSheet.Cells(MyRow, MyCol) = MSHFlexGrid.TextMatrix(MyRow - 1, MyCol - 1)
Next MyCol
Next MyRow
Else
'MSHFlexgrid表中没有可导出数据
MsgBox "没有可导出的内容!", vbOKOnly + vbInformation, "提示"
Exit Sub
End If
End Sub
有什么不合理或者不清楚的地方,欢迎指正!