有控件,你可以在网上找找
把表中的数据导入EXCEL中的控件

解决方案 »

  1.   

    select * into sheetName in '' [database=C:\test\test.xls;Excel 5.0] from testsheetName :你想要导出的Excel中的sheet名
    test:表名
    注意:test.xls文件要存在
      

  2.   

    你发电子邮件给我,我的电子邮箱是:[email protected]
      

  3.   

    我来引用一下别人的一个函数http://www.csdn.net/develop/Read_Article.asp?Id=14952Visual Basic 导出到 Excel 提速之法    
    Excel 是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表,本文通过添加查询语句的方法,即用Excel中的获取外部数据的功能将数据很快地从一个查询语句中捕获到EXCEL中,比起往每个CELL里写数据的方法提高许多倍。将下文加入到一个模块中,屏幕中调用如下ExporToExcel("select * from table")则实现将其导出到EXCEL中Public Function ExporToExcel(strOpen As String)
    '*********************************************************
    '* 名称:ExporToExcel
    '* 功能:导出数据到EXCEL
    '* 用法:ExporToExcel(sql查询字符串)
    '*********************************************************
    Dim Rs_Data As New ADODB.Recordset
    Dim Irowcount As Integer
    Dim Icolcount As Integer
        
        Dim xlApp As New Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        Dim xlQuery As Excel.QueryTable
        
        With Rs_Data
            If .State = adStateOpen Then
                .Close
            End If
            .ActiveConnection = Cn
            .CursorLocation = adUseClient
            .CursorType = adOpenStatic
            .LockType = adLockReadOnly
            .Source = strOpen
            .Open
        End With
        With Rs_Data
            If .RecordCount < 1 Then
                MsgBox ("没有记录!")
                Exit Function
            End If
            '记录总数
            Irowcount = .RecordCount
            '字段总数
            Icolcount = .Fields.Count
        End With
        
        Set xlApp = CreateObject("Excel.Application")
        Set xlBook = Nothing
        Set xlSheet = Nothing
        Set xlBook = xlApp.Workbooks().Add
        Set xlSheet = xlBook.Worksheets("sheet1")
        xlApp.Visible = True
        
        '添加查询语句,导入EXCEL数据
        Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))
        
        With xlQuery
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = True
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .PreserveColumnInfo = True
        End With
        
        xlQuery.FieldNames = True '显示字段名
        xlQuery.Refresh
        
        With xlSheet
            .Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Name = "黑体"
            '设标题为黑体字
            .Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.Bold = True
            '标题字体加粗
            .Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous
            '设表格边框样式
        End With
        
        With xlSheet.PageSetup
            .LeftHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10公司名称:"   ' & Gsmc
            .CenterHeader = "&""楷体_GB2312,常规""公司人员情况表&""宋体,常规""" & Chr(10) & "&""楷体_GB2312,常规""&10日 期:"
            .RightHeader = "" & Chr(10) & "&""楷体_GB2312,常规""&10单位:"
            .LeftFooter = "&""楷体_GB2312,常规""&10制表人:"
            .CenterFooter = "&""楷体_GB2312,常规""&10制表日期:"
            .RightFooter = "&""楷体_GB2312,常规""&10第&P页 共&N页"
        End With
        
        xlApp.Application.Visible = True
        Set xlApp = Nothing  '"交还控制给Excel
        Set xlBook = Nothing
        Set xlSheet = NothingEnd Function
    注:须在程序中引用'Microsoft Excel 9.0 Object Library'和ADO对象,机器必装Excel 2000本程序在Windows 98/2000,VB 6 下运行通过。
      

  4.   

    有很多方法都可将数据库中某个表的数据导出到电子表格中,例如通过创建Access.Application,可以利用Access本身的导出功能实现将表中的数据导出到电子表格中。但是这种方法会占用较多的系统资源,并且缺乏通用性。如果一个数据库没有导出的功能怎么办?下面的这段程序代码利用记录集实现导出的功能,这种做法的好处是显而易见的:你可以控制要导出的数据,而不用将整个表的内容都导出到电子表格中。为简单起见下面的程序代码仍将整个表的数据导出到电子表格中。如果你有兴趣的话,对下面的代码稍加改动就可做成更为通用的一个类或是一个控件。 首先在窗体上添加一个标签控件和一个命令按钮,然后在工程中添加对DAO引用。利用下面的程序代码就可将表中的数据导出到电子表格中。Option ExplicitPrivate Sub Command1_Click()
            Dim tempDB As Database
            Dim i As Integer           ' 循环计数器
            Dim j As Integer
            Dim rCount As Long         ' 记录的个数
            Dim xl As Object           ' OLE自动化对象
            Dim Sn As Recordset
            Screen.MousePointer = 11
            Label1.Caption = "打开数据库..."
            Label1.Refresh
            Set tempDB = Workspaces(0).OpenDatabase("Nwind.mdb")
            Label1.Caption = "创建Excel对象..."
            Label1.Refresh
            Set xl = CreateObject("Excel.Sheet.8")
            Label1.Caption = "创建快照型记录集..."
            Label1.Refresh
            Set Sn = tempDB.OpenRecordset("Customers", dbOpenSnapshot)         If Sn.RecordCount > 0 Then
                Label1.Caption = "将字段名添加到电子表格中"
                Label1.Refresh
                For i = 0 To Sn.Fields.Count - 1
                    xl.Worksheets(1).cells(1, i + 1).Value = Sn(i).Name
                Next
                Sn.MoveLast
                Sn.MoveFirst
                rCount = Sn.RecordCount
                ' 在记录中循环
                i = 0
                Do While Not Sn.EOF
                    Label1.Caption = "Record:" & Str(i + 1) & " of" & _
                    Str(rCount)
                    Label1.Refresh
                    For j = 0 To Sn.Fields.Count - 1
                       ' 加每个字段的值加到工作表中
                       If Sn(j).Type < 11 Then
                          xl.Worksheets(1).cells(i + 2, j + 1).Value = Sn(j)
                       Else
                          ' 处理Memo和LongBinary 类型的字段
                         xl.Worksheets(1).cells(i + 2, j + 1).Value = "Memo or Binary Data"
                       End If
                    Next j
                    Sn.MoveNext
                    i = i + 1
                Loop
                ' 保存工作表
                Label1.Caption = "保存文件..."
                Label1.Refresh
                xl.SaveAs "c:\Customers.XLS"
                '从内存中删除Excel对象
                Label1.Caption = "退出Excel"
                Label1.Refresh
                xl.Application.Quit
             Else
                ' 没有记录
             End If
             ' 清除
             Label1.Caption = "清除对象"
             Label1.Refresh
             Set xl = Nothing
             Set Sn = Nothing
             Set tempDB = Nothing
             Screen.MousePointer = 0  ' 恢复鼠标指针
             Label1.Caption = "Ready"
             Label1.Refresh
          
             
    End SubPrivate Sub Form_Load()
        Label1.AutoSize = True
        Label1.Caption = "Ready"
        Label1.Refresh
    End Sub
      

  5.   

    http://expert.csdn.net/Expert/topic/1169/1169561.xml?temp=.6433832
      

  6.   

    你可以找一个叫formula one这样一个专门做报表的控件,他能够导出为EXCEL格式的,而且这个控件还能够实现很多功能,我在这里就不多介绍了。此外你还可以使用ACCESS和EXCEL的VBA来实现EXCEL格式的导出,这些上面的朋友已经说了。formula one你可以用google搜索,具体的使用你可以看他的帮助和他的SAMPLE。