VB中如何将SQL中的数据导出到EXCEL中
我想在VB中把SQL数据库中ZZZ这样一个表里的数据通过一个按钮实现导出到EXCEL中,请问要如何实现!越详细越好啊!我刚学这个!谢谢了!
最佳答案
Rem 导出电子表格的函数,源于李洪根的代码[接收传过来的记录集] Public Function toexcel(objrs As ADODB.Recordset) As Boolean '********************************************************* '* 名称:ToExcel '* 功能:将ado记录集导出为电子表格 '* 用法:call toexcel(rs) '********************************************************* Dim irowcount As Integer '行数 Dim Icolcount As Integer '列数 Dim xlApp As New Excel.Application 'excel对象 Dim xlBook As Excel.Workbook '工作簿对象 Dim xlsheet As Excel.Worksheet '工作表对象 Dim xlQuery As Excel.QueryTable '用完已释放?原代码没释放,我修改之 Dim connflag As Long '原来是否连接标志[1:原来已连,0:原来未连] toexcel = False '首先赋初值为假 If conn.State = adStateOpen Then connflag = 1 Else connflag = 0 End If '如未连接则先连接 If connflag = 0 Then If Not mainmoudle.getlink Then toexcel = False '因连接不成功,故返值为假 Exit Function End If End If With objrs If .RecordCount < 1 Then MsgBox ("没有记录!") Exit Function End If '记录总数 irowcount = .RecordCount '字段总数 Icolcount = .Fields.Count End With Set xlApp = CreateObject("Excel.Application") '创建excel对象 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(objrs, xlsheet.Range("a1")) '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 = False '不加粗 '标题字体加粗 .Range(.Cells(1, 1),