Ich verwende SQL Server Management Studio.
Ich möchte die Ergebnisse einer Abfrage in einer Excel-Datei speichern.
Ich wähle "Speichern unter" und speichere dann in einer CSV-Datei, die ich in Excel öffnen kann. Alles gut, außer dass mir Spaltenüberschriften fehlen. Irgendwelche Ideen, wie ich sie exportieren kann?
sql
sql-server-2008
excel
ssms
export-to-excel
dublintech
quelle
quelle
Probieren Sie den Export-Assistenten aus. In diesem Beispiel wähle ich eine ganze Tabelle aus, aber Sie können genauso einfach eine Abfrage angeben:
(Sie können hier auch eine Abfrage angeben)
quelle
Eine andere Möglichkeit besteht darin, die Ergebnisse in der Zwischenablage zu kopieren und direkt in Excel einzufügen. Seien Sie vorsichtig mit Excel-Spalten vom Typ Allgemein, da diese je nach Ihren Daten manchmal unvorhersehbare Ergebnisse haben können.
CTL-A
Klicken Sie mit der rechten Maustaste auf eine beliebige Stelle im Ergebnisraster:Wenn Sie Probleme mit dem allgemeinen Excel-Format haben, das unerwünschte Konvertierungen durchführt, wählen Sie die leeren Spalten in Excel aus, bevor Sie sie einfügen, und ändern Sie das Format in "Text".
quelle
Zumindest in SQL Server 2012 können Sie mit der rechten Maustaste in das Abfragefenster klicken und Abfrageoptionen auswählen. Von dort aus können Sie Kopfzeilen für Raster und / oder Text einschließen auswählen und das Speichern unter so ausführen, wie Sie es möchten, ohne SSMS neu zu starten.
Sie müssen es noch unter Extras-> Optionen in der Menüleiste ändern, damit neue Abfragefenster diese Einstellungen standardmäßig verwenden.
quelle
Das gleiche Problem besteht in Visual Studio. So beheben Sie es dort:
Gehe zu:
Aktivieren Sie nun das Kontrollkästchen auf true: "Spaltenüberschriften beim Kopieren oder Speichern der Ergebnisse einschließen"
quelle
Wählen Sie Ihre Ergebnisse aus, indem Sie in die obere linke Ecke klicken, mit der rechten Maustaste klicken und "Mit Überschriften kopieren" auswählen. In Excel einfügen. Getan!
quelle
Die Einstellungen, deren Änderung in der von @ Diego akzeptierten Antwort empfohlen wurde, sind möglicherweise gut, wenn Sie diese Option für alle zukünftigen Abfragesitzungen, die Sie in SQL Server Management Studio (SSMS) öffnen, dauerhaft festlegen möchten. Dies ist normalerweise nicht der Fall. Zum Ändern dieser Einstellung muss außerdem die SSMS-Anwendung (SQL Server Management Studio) neu gestartet werden. Dies ist wieder eine "nicht so schöne" Erfahrung, wenn Sie viele nicht gespeicherte offene Abfragesitzungsfenster haben und sich mitten im Debuggen befinden.
SQL Server bietet eine sehr raffinierte Option zum Ändern pro Sitzung, die sehr schnell, praktisch und bequem ist . Ich beschreibe die folgenden Schritte mithilfe des Abfrageoptionsfensters:
Query Options...
mit der rechten Maustaste in das Abfrageeditorfenster.> Klicken Sie unten im Kontextmenü wie folgt:Results
>Grid
. Aktivieren Sie dasInclude column headers when copying or saving the results
Kontrollkästchen im rechten Bereich wie folgt:Das ist es. In Ihrer aktuellen Sitzung werden Ihre Einstellungen mit sofortiger Wirkung berücksichtigt, ohne dass SSMS neu gestartet wird. Diese Einstellung wird auch nicht an zukünftige Sitzungen weitergegeben. Das effektive Ändern dieser Einstellung pro Sitzung ist viel leiser.
quelle
Ich bin hierher gekommen, als ich nach einer Möglichkeit gesucht habe, SSMS beim Exportieren von Ergebnissen CSV-Trennzeichen ordnungsgemäß zu entkommen.
Erraten Sie, was? - Dies ist eigentlich eine Option und standardmäßig deaktiviert . Standardmäßig erhalten Sie fehlerhafte CSV-Dateien (und können diese möglicherweise nicht einmal erkennen, insbesondere wenn Ihr Export groß ist und Ihre Daten normalerweise keine Kommas enthalten) - und Sie müssen ein Kontrollkästchen aktivieren, damit Ihre CSVs exportiert werden korrekt!
Für mich scheint dies eine monumental dumme Designentscheidung und eine passende Metapher für Microsofts Herangehensweise an Software im Allgemeinen zu sein ("standardmäßig gebrochen, erfordert bedeutungslose rituelle Aktionen, damit triviale Funktionen funktionieren").
Aber ich werde gerne 100 US-Dollar an eine Wohltätigkeitsorganisation nach Wahl des Befragten spenden, wenn mir jemand einen gültigen realen Grund für die Existenz dieser Option nennen kann (dh ein tatsächliches Szenario, in dem sie nützlich war).
quelle
In SQL Server 2014 Management Studio lautet die Einstellung wie folgt:
Extras> Optionen> Abfrageergebnisse> SQL Server> Ergebnisse in Text> Spaltenüberschriften in die Ergebnismenge aufnehmen.
quelle
Ich stehe auch vor dem gleichen Problem. Wenn ich verwendet habe, klicken Sie mit der rechten Maustaste in das Abfragefenster und wählen Sie Abfrageoptionen. Kopfzeilen werden jedoch nicht in der CSV-Ausgabedatei angezeigt.
Dann melde ich mich vom Server ab, melde mich erneut an und führe das Skript aus. Dann hat es funktioniert.
quelle
Include column headers when copying or saving the results
Option zu ändern ? Diese Option ist sichtbar, wenn Sie im linken Navigationsbereich des FenstersResults
> auswählen .Grid
Query Options