| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:如何将查询结果导出到excel
只看楼主 加入收藏
keker
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-11-3
收藏
 问题点数:0 回复次数:0 
如何将查询结果导出到excel

如果你想将查询结果导出到Excel另存,以便日后查看或打印的话,那么我这里说的就是怎样将查询结果导出到Excel。先来写一个函数FillDataArray,该函数的主要作用是将查询语句中的字段名和查到的记录导入到Excel中。

Public Function FillDataArray(asArray(), adoRS As ADODB.Recordset) As Long

'将数据送 Excel 函数

Dim nRow As Integer

Dim nCol As Integer

On Error GoTo FillError

ReDim asArray(100000, adoRS.Fields.Count)

nRow = 0

For nCol = 0 To adoRS.Fields.Count - 1

asArray(nRow, nCol) = adoRS.Fields(nCol).Name

Next nCol

nRow = 1

Do While Not adoRS.EOF

For nCol = 0 To adoRS.Fields.Count - 1

asArray(nRow, nCol) = adoRS.Fields(nCol).Value

Next nCol

adoRS.MoveNext

nRow = nRow + 1

Loop

nRow = nRow + 1

FillDataArray = nRow

Exit Function

FillError:

MsgBox Error$

Exit Function

Resume

End Function

然后再来写一个过程PrintList,来调用前面的这个函数。

Private Sub PrintList()

Dim strSource, strDestination As String

Dim asTempArray()

Dim INumRows As Long

Dim objExcel As Excel.Application

Dim objRange As Excel.Range

On Error GoTo ExcelError

Set objExcel = New Excel.Application '新建一个Excel

Dim rs As New ADODB.Recordset

Set rs = Conn.Execute(sqlall)‘sqlall是查询语句

If Not rs.EOF Then

objExcel.Workbooks.Open App.Path & "\vvv.xls"

MsgBox "查询结果导出后,请将其另存为一个.xls文件,使vvv.xls中的内容为空,确保后面查询结果的正确导出。"

INumRows = FillDataArray(asTempArray, rs) '调填充数组函数

objExcel.Cells(1, 1) = "查询结果" '填表头

Set objRange = objExcel.Range(objExcel.Cells(2, 1), objExcel.Cells(INumRows, rs.Fields.Count))

objRange.Value = asTempArray '填数据

End If

objExcel.Visible = True '显示Excel

objExcel.DisplayAlerts = True '提示保存Excel

Exit Sub

ExcelError:

If Err <> 432 And Err > 0 Then

MsgBox Error$

Set objExcel = Nothing

Exit Sub

Else

Resume Next

End If

End Sub

其中用到的vvv.xls必须是先建好了的xls文件。结果导出后不要直接保存,而要将其另存为一个.xls文件,使vvv.xls中的内容为空,确保后面查询结果的正确导出。

搜索更多相关主题的帖子: excel Excel 结果 函数 Integer 
2007-11-03 22:34
快速回复:如何将查询结果导出到excel
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033990 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved