如何将Excel连接到MS SQL并获取具有列名称的数据?
问题描述:
我的一个用户想从SQL 2008查询/存储过程中将数据导入Excel。如何将Excel连接到MS SQL并获取具有列名称的数据?
我从来没有真正做到过。
我尝试了一个使用ADO的示例并获取了数据,但用户合理地询问 - 列名在哪里?
如何将电子表格连接到SQL结果集并使用列名得到它?
答
显然,字段名称已经在记录集对象中了......只是需要将它们拉出来。
i = 1
For Each objField In rs.Fields
Sheet1.Cells(1, i) = objField.Name
i = i + 1
Next objField
答
我不知道你正在使用哪个版本的Excel,但在Excel 2007中,你可以只是去数据连接到SQL数据库 - >自其他来源 - >从SQL Server。选择服务器和数据库后,连接将被创建。然后,你可以对它进行编辑(数据 - >连接 - >属性),其中在定义标签更改命令类型到SQL,并在命令文本框中输入您的查询。您也可以在服务器上创建一个视图,并从Excel指向该视图。
这应该这样做,除非我误解了你的问题。
我使用2003 ..但是 - 在2007年的答案 - 你会得到与SQL的结果集的列名?这就是问题(而不是如何获取数据 - 这很简单,但如何获得与列名称 - 在问题中看到粗体字体)。干杯 – 2010-08-18 17:24:21
你会得到列名称,是的。 – ktdrv 2010-08-19 06:19:31
谢谢。请记住,如果我们移动到2007年。 – 2010-08-19 08:34:42