| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 编程开发 > VB教程 > 文章正文 用户登录
ad4all.net美通网
Flash声音高级篇:
利用DENG来解析SV
[手机游戏]:关于t
关于scrollPane滚
修改ListBox组件(
Flash小技巧之all
mx.utils 包 [1] 
8ball里MovieClip
flashremoting实践

用DLL实现把数据库的记录导出到EXCEL中(VB)           

用DLL实现把数据库的记录导出到EXCEL中(VB)

作者:佚名 来源:CSDN 作者: pcwak 更新:2006-8-25 21:05:35 错误报告 我要投稿

'新建一个ActiveX DLL工程工程名为DbToExcel
'工程-->引用,引用Microsoft ActiveX Data Objects 2.6 Library
'Microsoft Excel 9.0 Objects Library

Option Explicit

Private Mcnnquery As ADODB.Connection   '定义ADO连接对象
Private Mrsquery As ADODB.Recordset     '定义ADO记录对象
Dim ObjExcel As Excel.Application   '定义Excel对象
Dim ObjWorkBook As Excel.Workbook   '定义工作薄
Dim ObjSheet As Excel.Worksheet     '定义工作表
Dim ObjRange As Excel.Range         '定义用户使用工作表的范围

Private Property Set Connquery(ByVal Conn As ADODB.Connection)
    Set Mcnnquery = Conn
End Property

Private Property Get Connquery() As ADODB.Connection
    Set Connquery = Mcnnquery
End Property

Private Property Set Rsquery(ByVal Rs As ADODB.Recordset)
    Set Mrsquery = Rs
End Property

Private Property Get Rsquery() As ADODB.Recordset
    Set Rsquery = Mrsquery
End Property

'属性方法共有三个参数
'strcnn 连接对象
'strrs  数据集对象
'strpath EXCEL文件
Public Sub DbtoExcel(Strcnn As ADODB.Connection, Strrs As ADODB.Recordset, Strpath As String)
    Dim i As Integer, j As Integer
On Error GoTo Err
    Set Connquery = Strcnn '设置cnnquery属性
    Set Rsquery = Strrs   '设置rsquery属性
    Set ObjExcel = New Excel.Application
    Set ObjWorkBook = ObjExcel.Workbooks.Open(Strpath)  '打开EXCEL文件
    Set ObjSheet = ObjWorkBook.ActiveSheet
    Set ObjRange = ObjSheet.UsedRange '用户使用过的工作表范围
    For i = 1 To Rsquery.Fields.Count
        ObjRange.Cells(1, i) = Rsquery.Fields(i - 1).Name
    Next i
    For j = 1 To Rsquery.RecordCount
        For i = 0 To Rsquery.Fields.Count - 1
            ObjRange.Cells(j + 1, i + 1) = Rsquery.Fields(i).Value
        Next i
        Rsquery.MoveNext
    Next j
    ObjExcel.Quit
    Set ObjWorkBook = Nothing
    Set ObjRange = Nothing
    Set ObjSheet = Nothing
    Set ObjExcel = Nothing
Err:
    MsgBox Err.Number & " " & Err.Description
    Set ObjWorkBook = Nothing
    Set ObjRange = Nothing
    Set ObjSheet = Nothing
    Set ObjExcel = Nothing
End Sub

'文件-->生成DbToExcel.dll

'新建一个标准EXE工程
'工程-->引用Microsoft ActiveX Data Objects 2.6 Library
浏览,加载刚才生成的DLL文件

Option Explicit
 
Dim Conn As ADODB.Connection
Dim Rs As ADODB.Recordset

Dim DE As New DbtoExcel.Class1  '定义一个类,DbToExcel.DLL内Class1类的一个实例

Private Sub Command1_Click()
    DE.DbtoExcel Conn, Rs, "c\1.xls"
End Sub

Private Sub Form_Load()
    Set Conn = New ADODB.Connection
    Set Rs = New ADODB.Recordset
    Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db.mdb;Persist Security Info=False"
    Conn.Open
    Rs.Open "select * from users", Conn, adOpenKeyset, adLockBatchOptimistic
End Sub

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。