我正在使用SQL Server管理工作室。

我希望将查询结果保存到excel文件中。

我选择“另存为”,然后保存到CSV文件,我可以在excel中打开。一切都好,除了我缺少列标题,任何想法我如何得到他们导出?


当前回答

工具>选项>查询结果> SQL Server >文本结果(或网格)>在结果集中包含列标题

更改此选项后,您可能需要关闭并重新打开SSMS。

在SQL编辑器工具栏上,您可以选择保存到文件,而不必重新启动SSMS

其他回答

在寻找一种方法使SSMS在导出结果时正确地转义CSV分隔符时来到这里。

你猜怎么着?-这实际上是一个选项,默认情况下是未选中的。所以默认情况下,你得到破碎的CSV文件(甚至可能没有意识到这一点,特别是如果你的导出很大,你的数据通常没有逗号)-你必须进入并单击复选框,这样你的CSV导出正确!

对我来说,这似乎是一个非常愚蠢的设计选择,也贴切地比喻了微软对软件的一般做法(“默认情况下被破坏,需要无意义的仪式行为来实现琐碎的功能”)。

但如果有人能给我一个有效的现实生活理由,我很乐意向受访者选择的慈善机构捐赠100美元(即,一个有用的实际场景)。

同样的问题也存在于Visual Studio中,下面是如何解决它的方法:

至:

Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid

现在单击复选框为true:“在复制或保存结果时包含列标题”

选择你的结果,点击左上角,右键单击,选择“复制与标题”。 粘贴到excel中。 完成了!

至少在SQL Server 2012中,可以在查询窗口中单击右键,选择“查询选项”。从那里,你可以选择包括网格和/或文本的标题,并有另存为工作方式你想要的,而不重新启动SSMS。

您仍然需要在菜单栏中的Tools->选项中更改它,以便新的查询窗口默认使用这些设置。

我也面临着同样的问题。当我使用右键单击查询窗口,并选择查询选项。但标题行不显示在输出CSV文件。

然后注销服务器,再次登录并运行脚本。然后就成功了。