2024年6月5日发(作者:)
VB6.0类模块实现DataGrid表格导出到Excel(原创)
将VB中的DataGrid导出到Excel功能网上有很多实例,大家都可以下载后修改修
改使用,但是一个程序中多次使用该代码的话,每次都需要修改里面的相关参数,较为麻
烦。作者奉行的理念是“拿来就用”,通过类模块的封装,可以很好的提高代码的重用
性,只需要2行代码就可以搞定哦。
本源码复制粘贴后即可使用。爽吧!如果你用的是其他表格控件,如
MSHFlexGrid,则直接将参数中的DataGrid参数换成你的控件类型即可。
如有问题经联系作者wink5000@
一、准备工作
要想使用本类模块,必须像使用其他导出Excel代码段一样,先引用Microsoft
Excel Object Library 。这是一定要注意的,否则调用该类模块将出错。
二、类模块源码
类模块名称:ToExcel
Option Explicit
'**********************************************************
'**函 数 名:GridToExcel
'**输 入:needGrid,needAdodc
'** :
'** :
'**输 出:
'**功能描述:自动将DataGrid表格中的内容导出到Excel
'**全局变量:见变量声明
'**调用模块:
'**作 者:吴长平
'**日 期:2013-1-24 08:45:48
'**修 改 人:吴长平
'**日 期:
'**版 本:V1.0.0
'**支 持:需要引用Excel Object Library
'*********************************************************
Public Sub GridToExcel(ByVal needGrid As DataGrid, ByVal needAdodc As
set)
'记录集为空时自动报错,并退出过程
If needAdodc Is Nothing Then
MsgBox ("参数中的记录集为空!")
Exit Sub
End If
'定义整数i,j
Dim i As Integer, j As Integer
'定义Excel应用程序对象
Dim xlapp As ation
'定义Excel工作薄对象
Dim xlbook As ok
'定义Excel工作表对象
Dim xlsheet As eet
'创建Excel应用程序对象
Set xlapp = CreateObject("ation")
'Excel应用程序对象可见
e = True
'新建工作薄,赋值给xlbook
Set xlbook =
'工作薄xlbook的第一个工作表赋值给xlsheet
Set xlsheet = eets(1)
'添加表头
For i = 0 To - 1
(1, i + 1) = s(i).Caption
Next i
'循环向Excel表格的单元格中添加内容
i = 0
'一直输出到记录集的末尾
Do While ( = False)
For j = 0 To Int( - 1)
= j
(i + 2, j + 1) =
Next j
'记录集指针向下移动一条
xt
i = i + 1
Loop
'释放Excel工作薄对象
Set xlapp = Nothing
'释放义Excel工作表对象
Set xlbook = Nothing
End Sub
三、类模块的使用
添加一个按钮,代码如下
Private Sub Command3_Click()
'声明一个ToExcel对象,名字叫myExcel(这个名字可自定)
Dim myExcel As New ToExcel
'将记录集指针调整到第一条。否则第一次导出Excel成功,第二次再导出Excel表是
空的。原因是你已经将记录指针移到最后,后面没有记录了。
rst
'调用类模块中的方法(参数根据你的实际情况自定)
Call Excel(DataGrid1, set)
End Sub
四、总结
通过这个类模块的学习,大家可以简单掌握类模块中控件作为参数是如何传递的,很
简单吧。以后你再使用导出Excel功能的时候只需要3行代码就可以搞定。爽吧?其实你
可以将使用时重复出现的“rst”这段代码封装到类模块中,
以后你只要2行代码就可以实现导出Excel功能了。这点小事留给读者做个小练习吧!
最后要说下的是,这个类模块没有判断控件是否存在,希望高手能够不吝赐教。
发布评论