Introduction :
L'exportation de grands ensembles de données de requêtes SQL vers Microsoft Excel est une exigence courante pour l’analyse des données et le reporting. Cet article aborde le problème de l'exportation des résultats de requête directement dans une feuille Excel à l'aide de SQL Server 2008 et Excel 2007.
Méthodologies :
Une méthode d'exportation de données consiste à utiliser un opération manuelle de copier-coller, mais cela devient peu pratique pour des ensembles de données exceptionnellement volumineux. Une approche plus efficace consiste à utiliser le fournisseur OLEDB de Microsoft pour interagir avec Excel. Une tentative est présentée ci-dessous :
INSERT INTO OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\Working\Book1.xlsx;Extended Properties=EXCEL 12.0;HDR=YES') SELECT productid, price FROM dbo.product
Cependant, cette méthode peut rencontrer une erreur de syntaxe.
Solutions alternatives :
1 . Importation Excel :
Pour des ensembles de données plus petits, il est possible d'exporter les résultats manuellement. Sélectionnez tous les enregistrements dans les résultats de la requête, cliquez avec le bouton droit et choisissez « Enregistrer les résultats sous » pour exporter les données sous forme de fichier CSV.
2. OPENROWSET :
Une méthode plus robuste consiste à utiliser la fonction OPENROWSET :
INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=c:\Test.xls;','SELECT productid, price FROM dbo.product')
3. SSIS :
Pour les exportations de données volumineuses, envisagez d'utiliser SQL Server Integration Services (SSIS), qui offre des fonctionnalités étendues pour l'extraction, la transformation et le chargement de données.
4. Exportation CSV avec en-têtes de colonnes :
Pour exporter les résultats avec les en-têtes de colonnes sous forme de fichier CSV, accédez à "Outils -> Options", sélectionnez "Résultats de la requête -> SQL Server -> Résultats dans la grille", cochez "Inclure les en-têtes de colonnes lors de la copie ou de l'enregistrement des résultats" et cliquez sur "OK".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!