vb如何将SQL数据库查询的结果导出到带字段名的Excel表?

DimmCnnasADODB.ConnectionDimmRsAsADODB.RecordsetDimstrSqlasStringDimmExcelFileAsObjec... Dim mCnn as ADODB.Connection
Dim mRs As ADODB.Recordset
Dim strSql as String
Dim mExcelFile As Object

......'连接SQL数据库(省略)

strSql="select * from [表名] Order by 1"
Set mRs=New ADODB.Recordset
mRs.Open strSql, mCnn, adOpenKeyset, adLockReadOnly
If mRs.RecordCount > 0 Then
Set mExcelFile = CreateObject("Excel.Sheet")
mExcelFile.Application.Range("A1").CopyFromRecordset mRs
mExcelFile.SaveAs "c:\123.xls"
mExcelFile.Application.quit
Set mExcelFile = Nothing
End if
If mRs.State = adStateOpen Then mRs.Close: Set mRs = Nothing

上面的代码是完全可以将查询的结果导出到Excel中,问题是当打开123.xls时只有数据记录,并没有包含字段名,别人打开看不懂那列跟那列是代表什么!

请问有没有办法导出到Excel中也包含字段名?
希望各位大虾帮帮忙,最好不要长篇大论才能实现,要简洁。谢谢!
2楼的能说明白点吗,最好能给个例子,ok就加50分。
展开
 我来答
56...7@qq.com
2008-12-03 · TA获得超过883个赞
知道小有建树答主
回答量:533
采纳率:0%
帮助的人:639万
展开全部
你在用CopyFromRecordset前先把字段名写上,然后换一行再把数据集拷贝就可以了。

===========================================================
先把这句mExcelFile.Application.Range("A1").CopyFromRecordset mRs
改为:
mExcelFile.Application.Range("A2").CopyFromRecordset mRs
然后在这句前面加上下面的代码试试看,应该可以的:

For i = 0 To mRst.Fields.Count - 1
mExcelFile.ActiveSheet.Cells(1, i + 1).Value = mRst.Fields(i).Name
Next

'设置字段名加粗(如果不需要可忽略此句)
mExcelFile.ActiveSheet.Range(.ActiveSheet.Cells(1, 1), mExcelFile.ActiveSheet.Cells(1, mRst.Fields.Count)).Font.Bold = True
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
etianshi
2008-11-28 · TA获得超过369个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:295万
展开全部
excel是表,表是有列名的,对应数据库的字段名
就告诉你这么多
自己百度去吧,很多的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式