问题没有说清楚,如果是SQL的话,在MMC有导入和导出功能呀

解决方案 »

  1.   

    用vb代码实现将sqlserver2000中的表导入到excel中
      

  2.   

    给你一个导出的例子
    Public Function ExporToExcel(strOpen As String)
    '*********************************************************
    '* 名称:ExporToExcel
    '* 功能:导出数据到EXCEL
    '* 用法:ExporToExcel(sql查询字符串)
    '*********************************************************
    Dim Rs_Data As New ADODB.Recordset
    Dim Irowcount As Long
    Dim Icolcount As Long
        
        Dim xlApp As New Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
        Dim xlQuery As Excel.QueryTable
        On Error GoTo ErrCondition:
        With Rs_Data
            If .State = adStateOpen Then
                .Close
            End If
            .ActiveConnection = cn
            .CursorLocation = adUseClient
            .CursorType = adOpenStatic
            .LockType = adLockReadOnly
            .Source = strOpen
            .Open
        End With
      '  Rs_Data.Open strOpen, Cn, adOpenStatic, adLockReadOnly
        With Rs_Data
          '  .MoveFirst
            If .RecordCount < 1 Then
                MsgBox "根据你的选择找不到相应的纪录,请更改你的条件!", vbOKOnly, "警告!"
                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("a3"))
        
        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("a1:j2").MergeCells = True
    '        .Range(.Cells(1, 1)).Text = "北京中科软件有限公司"
            .Range(.Cells(3, 1), .Cells(3, Icolcount)).Font.Name = "黑体"
            '设标题为黑体字
            .Range(.Cells(3, 1), .Cells(3, Icolcount)).Font.Bold = True
            '标题字体加粗
    '        .Range(.Cells(3, 1), .Cells(Irowcount + 3, 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
    '    xlBook.SaveAs book1.xls
        Set xlApp = Nothing  '"交还控制给Excel
        Set xlBook = Nothing
        Set xlSheet = Nothing
        Exit Function
    ErrCondition:
        MsgBox "数据库操作错误,错误代号为 " & Err.Number & "错误信息为:" & Err.Description, vbOKOnly, "错误!"
        bSelect = True
    End Function