[分享]数据导出到Excel-何勇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-窗体/数据页


[分享]数据导出到Excel

发表时间:2008/1/13 9:49:43 评论(0) 浏览(9997)  评论 | 加入收藏 | 复制
   
摘 要:[分享]数据导出到Excel
正 文:
Public Function AccessToExcel(ByVal TempSql As String, Optional TempName As String)
'数据导出到Excel
'tempsql:支持sql语句\查询\表
'tempName:导出Excel的工作表的名称
'注意必须引用excel对象

    On Error GoTo Err:

    Dim row As Integer
    Dim col As Integer
    Dim Conn As ADODB.Connection

    Dim Rs As ADODB.Recordset

    Dim sql As String

    Dim ExcelApp As Excel.Application

    Dim ExcelWst As Worksheet  ''excel窗体

    Dim RsCount As Integer    ''记录数

    Set Conn = CurrentProject.Connection    '''本地连接

    If TempSql = "" Then Exit Function
    ' sql = TempSql ' "select * from 书本"

    Set Rs = CreateObject("ADODB.Recordset")

    Rs.Open TempSql, Conn, 1   ' 1 = adOpenKeyset

    Set ExcelApp = New Excel.Application
    Set ExcelWst = ExcelApp.Workbooks.Add.Worksheets(1)

    ExcelWst.Name = TempName

    For col = 0 To Rs.Fields.Count - 1
        ExcelWst.Cells(1, col + 1) = Rs.Fields(col).Name
    Next

    row = 2
    RsCount = Rs.RecordCount

    Rs.MoveFirst

    While Not Rs.EOF

        For col = 0 To Rs.Fields.Count - 1

            ExcelWst.Cells(row, col + 1) = Rs.Fields(col)

            ''转换日期型字符的表示格式
            If Rs.Fields(col).Type = 7 Then

                ExcelWst.Cells(row, col + 1).NumberFormatLocal = "yyyy-m-d;@"

            End If

        Next

        row = row + 1
        Rs.MoveNext
    Wend


    Rs.Close

    Set Rs = Nothing
    Set Conn = Nothing

    ExcelApp.Visible = True

Err:
    Exit Function
End Function

Access软件网交流QQ群(群号:198465573)
 
 相关文章
导出SQL Server数据库表中字段的说明/备注  【Adolph Sun  2013/2/18】
打印预览报表时直接导出为pdf文件的vba代码  【金宇  2013/4/30】
【Access拓展应用】VBA导出到Excel提速之法  【nivenm  2013/5/14】
【Access小品】通用选择字段导出示例  【煮江品茶  2013/7/19】
常见问答
技术分类
相关资源
文章搜索
关于作者

何勇

文章分类

文章存档

友情链接