J'utilise SQL Server Management Studio.
Je souhaite enregistrer les résultats d'une requête dans un fichier Excel.
Je choisis «enregistrer sous», puis enregistrer dans un fichier CSV que je peux ouvrir dans Excel. Tout va bien sauf qu'il me manque des en-têtes de colonne, des idées sur la façon de les exporter?
sql
sql-server-2008
excel
ssms
export-to-excel
dublintech
la source
la source
Essayez l'assistant d'exportation. Dans cet exemple, je sélectionne une table entière, mais vous pouvez tout aussi facilement spécifier une requête:
(vous pouvez également spécifier une requête ici)
la source
Une autre possibilité consiste à utiliser le presse-papiers pour copier et coller les résultats directement dans Excel. Faites juste attention avec les colonnes Excel de type général, car elles peuvent parfois avoir des résultats imprévisibles, en fonction de vos données.
CTL-A
n'importe où dans la grille de résultats, puis cliquez avec le bouton droit de la souris:Si vous rencontrez des problèmes avec le format général d'Excel effectuant des conversions non souhaitées, sélectionnez les colonnes vides dans Excel avant de coller et changez le format en «texte».
la source
Au moins dans SQL Server 2012, vous pouvez cliquer avec le bouton droit dans la fenêtre de requête et sélectionner Options de requête. À partir de là, vous pouvez sélectionner Inclure les en-têtes pour la grille et / ou le texte et faire fonctionner Enregistrer sous comme vous le souhaitez sans redémarrer SSMS.
Vous devrez toujours le modifier dans Outils-> Options dans la barre de menus pour que les nouvelles fenêtres de requête utilisent ces paramètres par défaut.
la source
Le même problème existe dans Visual Studio, voici comment y remédier:
Aller à:
Cliquez maintenant sur la case à cocher true: "Inclure les en-têtes de colonne lors de la copie ou de l'enregistrement des résultats"
la source
Sélectionnez vos résultats en cliquant dans le coin supérieur gauche, faites un clic droit et sélectionnez "Copier avec en-têtes". Coller dans Excel. Terminé!
la source
Les paramètres qu'il a été conseillé de modifier dans la réponse acceptée de @ Diego peuvent être utiles si vous souhaitez définir cette option de manière permanente pour toutes les sessions de requête futures que vous ouvrez dans SQL Server Management Studio (SSMS). Ce n'est généralement pas le cas. En outre, la modification de ce paramètre nécessite le redémarrage de l'application SQL Server Management Studio (SSMS). C'est à nouveau une expérience «pas très agréable» si vous avez de nombreuses fenêtres de session de requête ouvertes non enregistrées et que vous êtes au milieu d'un débogage.
SQL Server offre une option très astucieuse pour le changer par session, ce qui est très rapide, pratique et pratique . Je détaille les étapes ci-dessous en utilisant la fenêtre des options de requête:
Query Options...
en bas du menu contextuel comme indiqué ci-dessous:Results
>Grid
dans le volet de navigation de gauche. Cochez laInclude column headers when copying or saving the results
case dans le volet droit comme indiqué ci-dessous:C'est tout. Votre session actuelle honorera vos paramètres avec effet immédiat sans redémarrer SSMS. De plus, ce paramètre ne sera propagé à aucune session future. Modifier efficacement ce paramètre sur une base par session est beaucoup moins bruyant.
la source
Arrivé ici lorsque vous cherchez un moyen de faire en sorte que SSMS échappe correctement aux séparateurs CSV lors de l'exportation des résultats.
Devine quoi? - c'est en fait une option, et elle n'est pas cochée par défaut . Donc, par défaut, vous obtenez des fichiers CSV cassés (et vous ne le réalisez peut-être même pas, surtout si votre exportation est volumineuse et que vos données n'ont pas de virgules normalement) - et vous devez entrer et cliquer sur une case à cocher pour que vos CSV exportent correctement!
Pour moi, cela semble être un choix de conception monumentalement stupide et une métaphore appropriée pour l'approche de Microsoft du logiciel en général ("cassé par défaut, nécessite des actions rituelles sans signification pour faire fonctionner des fonctionnalités triviales").
Mais je ferai un don de 100 $ à un organisme de bienfaisance choisi par le répondant si quelqu'un peut me donner une raison valable dans la vie réelle pour que cette option existe (c.-à-d. Un scénario réel où elle a été utile).
la source
Dans SQL Server 2014 Management Studio, le paramètre est à:
Outils> Options> Résultats de la requête> SQL Server> Résultats au texte> Inclure les en-têtes de colonne dans le jeu de résultats.
la source
Je suis également confronté au même problème. Lorsque j'ai utilisé un clic droit dans la fenêtre de requête et sélectionnez Options de requête. Mais les lignes d'en-tête n'apparaissent pas dans le fichier CSV de sortie.
Ensuite, je déconnecte le serveur, je me reconnecte et j'exécute le script. Ensuite, cela a fonctionné.
la source
Include column headers when copying or saving the results
option? Cette option est visible lorsque vous sélectionnezResults
>Grid
dans le volet de navigation gauche de laQuery Options
fenêtre.