Problème : Vous exécutez une requête ad hoc dans une base de données Microsoft SQL Server avec SQL Server Management Studio (SSMS) et vous devez analyser davantage le jeu de résultats dans une feuille de calcul Excel. Comment exportez-vous les données ?
Solution
SSMS offre plusieurs options pour exporter les résultats de requête vers Excel. Dans cet article, nous explorerons quatre méthodes différentes :
- Copier et coller depuis l’onglet des résultats
- Enregistrer les résultats sous forme de fichier délimité
- Enregistrer les résultats directement dans un fichier .rpt à largeur fixe
- Utiliser l’Assistant d’importation et d’exportation SQL Server
Supposons que nous avons une requête T-SQL qui récupère une liste de noms de produits et de modèles à partir de la base de données AdventureWorksLT2019 :
USE AdventureWorksLT2019;
GO
SELECT [p].[Name] AS [NomProduit],
[pm].[Name] AS [ModèleProduit]
FROM [SalesLT].[Product] [p]
JOIN [SalesLT].[ProductModel] [pm] ON [p].[ProductModelID] = [pm].[ProductModelID]
ORDER BY [p].[Name];
GO
Méthode 1 : Copier et coller depuis l’onglet des résultats
Cette méthode nécessite que les résultats soient envoyés vers la sortie de grille par défaut. Si les résultats ne vont pas dans la grille, vous pouvez modifier le paramètre en cliquant avec le bouton droit dans la fenêtre de requête et en sélectionnant “Résultats vers” > “Résultats vers la grille” ou en appuyant simplement sur Ctrl+D.
Pour copier et coller les résultats dans Excel :
- Cliquez sur la case dans le coin supérieur gauche du volet des résultats pour mettre en surbrillance tous les enregistrements
- Cliquez sur “Copier avec en-têtes” ou appuyez sur Ctrl+Shift+C
- Ouvrez un classeur vide dans Excel
- Cliquez avec le bouton droit de la souris et sélectionnez “Coller” ou appuyez sur Ctrl+V
Si les colonnes sont concaténées lorsqu’elles sont collées dans Excel, vous pouvez utiliser la fonction “Texte en colonnes” pour les séparer :
- Sélectionnez la colonne
- Cliquez sur “Données” dans le ruban
- Cliquez sur “Texte en colonnes”
- Dans l’Assistant Texte en colonnes, cochez la case “Tabulation” et décochez les autres
- Cliquez sur “Terminer”
Méthode 2 : Enregistrer les résultats sous forme de fichier délimité
En plus de la copie et du collage, SSMS vous permet d’exporter le jeu de résultats vers un fichier délimité par des virgules ou des tabulations qui peut être ouvert avec Excel.
- Cliquez avec le bouton droit de la souris dans la fenêtre des résultats
- Sélectionnez “Enregistrer les résultats sous…”
- Choisissez un emplacement pour enregistrer le fichier
- Donnez un nom au fichier
- Sélectionnez soit délimité par des virgules, soit délimité par des tabulations dans la liste déroulante “Enregistrer sous le type”
- Cliquez sur “Enregistrer”
- Cliquez avec le bouton droit de la souris sur le fichier enregistré et sélectionnez “Ouvrir avec” > “Excel”
Méthode 3 : Enregistrer les résultats directement dans un fichier .rpt à largeur fixe
Si vous préférez travailler avec un fichier à largeur fixe plutôt qu’un fichier délimité, SSMS permet de générer directement les résultats dans un fichier à largeur fixe.
- Cliquez avec le bouton droit de la souris dans la fenêtre de requête
- Sélectionnez “Résultats vers” > “Résultats vers un fichier” ou appuyez sur Ctrl+Shift+F
- Exécutez la requête et une boîte de dialogue apparaîtra
- Sélectionnez le dossier où vous souhaitez enregistrer le fichier
- Donnez un nom au fichier
- Cliquez sur “Enregistrer”
- Ouvrez le fichier enregistré dans Excel en cliquant sur “Fichier” > “Ouvrir” > “Parcourir”
- Dans la boîte de dialogue “Ouvrir”, sélectionnez “Tous les fichiers” dans la liste déroulante “Fichiers de type”
- Cliquez sur le fichier enregistré et cliquez sur “Ouvrir”
- L’Assistant d’importation de texte s’ouvrira
- Sélectionnez “Largeur fixe” au lieu de “Délimité” par défaut
- Décochez “Mes données comportent des en-têtes” si vos données n’ont pas d’en-têtes
- Cliquez sur “Suivant” et vérifiez/modifiez les lignes de rupture
- Cliquez sur “Suivant” et modifiez le type de données si nécessaire
- Cliquez sur “Terminer”
- Enregistrez le fichier au format .xlsx
Méthode 4 : Utilisation de l’Assistant d’importation et d’exportation SQL Server
L’Assistant d’importation et d’exportation SQL Server, alimenté par SQL Server Integration Services (SSIS), vous permet de copier des données d’une source vers une destination. Dans ce cas, nous utiliserons l’assistant pour exporter directement les résultats de la requête vers un fichier Excel.
- Développez “SQL Server” dans l’Explorateur d’objets
- Cliquez avec le bouton droit de la souris sur la base de données à partir de laquelle vous exportez
- Sélectionnez “Tâches” > “Exporter les données…”
- Dans l’assistant, sélectionnez la source de données dans la liste déroulante
- Confirmez ou modifiez le nom du serveur
- Choisissez la méthode d’authentification
- Confirmez ou modifiez la base de données
- Choisissez un emplacement pour le fichier de destination
- Donnez un nom au fichier
- Choisissez la version d’Excel
- Cochez ou décochez l’option “La première ligne contient les noms de colonnes”
- Cliquez sur “Suivant” et collez la requête SQL (supprimez les instructions “GO”)
- Cliquez sur “Analyser” et vérifiez les colonnes
- Cliquez sur “Suivant” et vérifiez les actions
- Cliquez sur “Terminer” pour lancer l’exportation
- Vérifiez le succès et fermez l’assistant
Avec ces méthodes, vous pouvez facilement exporter les résultats de requête SQL Server vers Excel pour une analyse et un reporting ultérieurs.
Article mis à jour pour la dernière fois le : 2022-07-07