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

原创 2004年10月24日 14:07:00
 

'新建一个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

使用vb将查询结果导出为excel文件

将查询信息导出为excel文件输出输入:param1 string database名字            param2 string sql语句Public Sub SaveAsExcel(da...
  • RainyBoo
  • RainyBoo
  • 2006年01月08日 00:21
  • 1326

vb与office的数据交互之vb导出Excel

vb与office的数据交互
  • u013067402
  • u013067402
  • 2014年08月06日 11:08
  • 1878

java读取数据库并导出到Excel 用到 jxl

数据库用的是sqlserver的。自己再去修改成mysql测试 import java.io.File; import jxl.*; import jxl.write.*; import...
  • ghosthuo
  • ghosthuo
  • 2014年03月28日 14:39
  • 883

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

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:47
  • 162

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

 新建一个ActiveX DLL工程工程名为DbToExcel工程-->引用,引用Microsoft ActiveX Data Objects 2.6 Library Microsoft Excel ...
  • longe329
  • longe329
  • 2008年04月05日 14:49
  • 319

用php将数据库中数据导出成excel表格

$DB_Server ="localhost";      $DB_Username ="root";      $DB_Password ="";      $DB_DBName ="test...
  • u011666748
  • u011666748
  • 2014年07月31日 17:17
  • 1639

VB6 ado 查询结果集 导出Excel (速度较快)

'********************************************************* '* 名称:ExporToExcel'* 功能:导出数据到EXCEL'* 用法:...
  • lashengcrh
  • lashengcrh
  • 2016年07月28日 15:58
  • 1026

C#中数据库数据如何导出至Excel表格

C#中数据库数据如何导出至Excel表格 标签: excel数据库c#insertstringnull 2011-12-13 16:21 17693人阅读 评论(9) 收藏 举报 ...
  • kasama1953
  • kasama1953
  • 2016年06月16日 23:28
  • 4664

VB中从MSFlexGrid记录导出为Excel

机房收费系统中多个窗体用到从MSFlexGrid记录导出为Excel,在VB要导出数据到Excel中,首先要在引用中添加Microsoft  Excel 14.0 Object Library 引...
  • as19901130
  • as19901130
  • 2012年08月22日 17:40
  • 3786

VB.NET 导出数据到EXCEL中

----------VB.NET 导出数据到EXCEL中-------------  在引用当中引入Microsoft Excel 11.0 Object Library        Dim oEx...
  • allenle
  • allenle
  • 2005年01月01日 01:10
  • 1838
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用DLL实现把数据库的记录导出到EXCEL中(VB)
举报原因:
原因补充:

(最多只允许输入30个字)