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

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分。

第1个回答  2008-12-03
你在用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本回答被提问者采纳
第2个回答  2008-11-28
excel是表,表是有列名的,对应数据库的字段名
就告诉你这么多
自己百度去吧,很多的

vb如何将SQL数据库查询的结果导出到带字段名的Excel表?
1. 打开目标Excel文件,使用Application对象初始化。2. 选择目标工作表的A2单元格,执行CopyFromRecordset方法,将数据集中的数据导入Excel。3. 为提升可读性与清晰度,在数据导入前,需在A1单元格中手动输入字段名。4. 通过循环遍历数据集中的字段,使用ActiveSheet.Cells方法设置相应单元格的值为字段名称...

vb如何将SQL数据库查询的结果导出到带字段名的Excel表?
你在用CopyFromRecordset前先把字段名写上,然后换一行再把数据集拷贝就可以了。=== 先把这句mExcelFile.Application.Range("A1").CopyFromRecordset mRs 改为:mExcelFile.Application.Range("A2").CopyFromRecordset mRs 然后在这句前面加上下面的代码试试看,应该可以的:For i = 0 To mRst.Fi...

vb怎么查找数据库中的数据存入到excel里vb怎么查找数据库中的数据存入...
首先,您需要使用ADODB对象建立与数据库的连接,然后使用Recordset对象执行查询并获取结果集。接着,您可以使用Excel对象创建一个工作簿,并将查询结果逐行写入到Excel中。最后,保存并关闭工作簿即可。这样就能实现将数据库中的数据存入到Excel里。这个过程需要细致的处理连接、查询和Excel操作的异常,确保数据...

vb 执行sql语句得到的结果集怎样输出到excel单元格中?
可以,在vb窗口建个datagrid,adodc,用adodc绑定你的数据库,datagrid的DataSource选择那个adodc,这样就能把记录集中的数据显示在datagrid表格中,然后再把datagrid表格中的查询结果导入到Excel中,把datagrid导入到Excel的代码如下:Dim ex As Object Dim i As Integer Dim j As Integer Dim XlApp As Ex...

VB中把SQL数据库的数据输出到Excel
Private Sub Command1_Click()Dim i As Integer Dim j As Integer Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application")xlApp.Visible = True Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook....

急!如何将查询出来的sql数据库的数据导出EXCEL
1、首先打开Sql Server Manegement管理工具,找到一个接下来要操作的表,如下图所示 2、先来查询一下这个表中的数据,如下图所示,接下来就会对这些数据进行导出 3、在查询结果的空白处右键单击,选择将结果另存为选项,如下图所示 4、这个时候会弹出保存界面,会看到文件类型那里是CSV类型,这个也是...

怎样用vb将sql数据库中的数据导入到excel中
好像查询语句可以做到:用SQL语句,将表导出为EXCEL SELECT 字段表 INTO [Excel 8.0;database=D:\\temp\\200803.XLS].Data FROM 表

怎样将SQL数据导出到EXCEL中
在SQL数据库的很多应用场景中,需要将SQL中的某个数据库或查询的结果导出到EXCEL中,因为Excel更容易对数据处理和方便用户邮箱传输。本次归纳了 SQL数据表导出到EXCEL中的三种方法:1、复制粘贴,将SQL查询语句按指定条件导出数据;——适合小量数据。2、导出完整的SQL数据表为Excel文件;——适合大量数据...

vb6将查询结果导出到Excel问题
1、cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:\\DT.xls -c -Sservername -Usa -Ppassword'"2、bulk insert td2 from 'e:\\temp1.txt' with ( FIELDTERMINATOR ='\\t',ROWTERMINATOR ='\\n')这两种方式都是很快,而且是导进,导出都可以...

Excel VBA 将SQL2000数据查询后显示到指定的行列
1、随便你在EXCEL中建立一个模块或窗体,输入以下代码:Sub aa() Dim cn As New ADODB.Connection'必须语句,定义一个对象,连接用的 Dim rs As New Recordset'必须语句,定义一个对象,查询用的 Str1 = "select * from [zd_spzl]"'这个不说了吧,SQL的语句 strcn = "Provider...

相似回答