如何将Excel连接到MS SQL并获取具有列名称的数据?

如何将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指向该视图。

这应该这样做,除非我误解了你的问题。

+0

我使用2003 ..但是 - 在2007年的答案 - 你会得到与SQL的结果集的列名?这就是问题(而不是如何获取数据 - 这很简单,但如何获得与列名称 - 在问题中看到粗体字体)。干杯 – 2010-08-18 17:24:21

+0

你会得到列名称,是的。 – ktdrv 2010-08-19 06:19:31

+0

谢谢。请记住,如果我们移动到2007年。 – 2010-08-19 08:34:42