将SQL表导出到Excel - 列名不导出,只导出数据

时间:2013-03-19 14:24:43

标签: sql vba

通过Excel VBA连接到SQL Management Studio后,我有以下代码(部分IT)从SQL中的表中提取数据。

With BalanceSheet
    ' Assign the Connection object.
    .ActiveConnection = cnPubs
    ' Extract the required records.
    .Open "select * from Analytics.dbo.BalSheetKeyLineItemsFinal"
    Sheet1.Range("A13").CopyFromRecordset BalanceSheet
    ' Tidy up
    .Close
End With

但是,表中的列名不会显示出来。有什么方法可以在我的数据导出到Excel时包含列名吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

记录集包含您查询过的数据,因此这是您期望发生的事情。由于您使用的是.Open.ActiveConnection,我假设您正在使用ADO:在这种情况下,您可以从记录集对象的Fields集合中获取字段名称:

For i = 0 to .Fields.Count - 1
  Sheet1.Range("A12").Offset(, i) = .Fields(i).Name
Next

这将在Sheet1的第12行写下字段标题。