急!如果在VB中将从SQL中查询(按某些条件)出来的数据集导出成EXCEL文件...如:
select * from table1 where ymd>'2004-10-10' and ymd<'2005-01-27'

解决方案 »

  1.   

    '首先在菜单"工程"--"引用"中选中Microsoft Excel x.0 Object LibraryPrivate Function InputToExcel(data() As String, ColWidth() As Long) As Boolean 'data是二维数组,第一维=行,第二维=列    ColWidth是一维数组
        Dim ColCount As Long, RowCount As Long, i As Long, k As Long, kk As Long
        Dim xlApp As New Excel.Application, xlBook As Excel.Workbook
        Dim xlsheet As Excel.Worksheet, sRange As String
        Dim rs As New ADODB.Recordset    rs.CursorLocation = adUseClient
        rs.Open "select * from table1 where ymd>'2004-10-10' and ymd<'2005-01-27'", db    ColCount = rs.Fields.Count - 1 '总列
        RowCount = rs.RecordCount - 1 '总行
        
        xlApp.Visible = False    Set xlBook = xlApp.Workbooks.Add
        Set xlsheet = xlBook.Worksheets(1)
        xlsheet.Name = "导出数据"
                    '//从网格到excel    For k = 0 To RowCount
            rs.Move k + 1
            For kk = 0 To ColCount
                xlsheet.Cells(k, kk) = rs.Fields(kk).Value
            Next kk
        Next k
        
    '//关闭操作台
       xlBook.SaveAs App.Path & "\kk.xls"
        xlBook.Close False
        xlApp.Quit
        Set xlApp = Nothing
    MsgBox "导出成功"
    End Function
      

  2.   

    http://community.csdn.net/Expert/topic/3445/3445460.xml?temp=.2062342
      

  3.   

    Private Sub Command1_Click()    Dim cn  As New ADODB.Connection
        
        cn.open "Driver={SQL Server};Server=yangao;DataBase=xinzi;UID=sa;PWD=12345;"
        
        cn.execute "master..xp_cmdshell 'bcp ""select * from xinzi.dbo.bankcard"" queryout c:\temp2.xls -c -S""yangao"" -U""sa"" -P""12345""'"End Sub复制过去
    'yangao'替换成你的服务器
    'xinzi'替换成你的数据库
    '12345'替换成你的服务器密码
    'select * from xinzi.dbo.bankcard'替换成你的查询