Requête SQL pour la fonction OPENROWSET :--
1) Ouvrez SQL Server Management Studio
2) Ouvrez le bloc de requête et écrivez les commandes suivantes
3) Pour les fichiers Excel 97 - 2003, c'est-à-dire les fichiers avec l'extension XLS, utilisez
SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')
je. Il créera une table avec le nom Adresses dans la base de données actuellement sélectionnée.
ii. Microsoft.Jet.OLEDB.4.0 est le pilote utilisé pour la conversion
iii. Fichier Excel avec chemin - D:\SQL Scripts\msp.xls
iv. IMEX=1 propriété incluse, les colonnes qui contiennent des types de données mélangés sont traitées comme des types de données chaîne/texte.
v. La propriété HRD =Yes signifie que la ligne supérieure du fichier Excel se compose du nom de l'en-tête de colonne
vi. Sheet1 est le nom de la feuille que vous souhaitez importer
vii. Excel 8.0 spécifie qu'il s'agit d'un fichier Excel au format 97 - 2003
4) Pour utiliser la requête de filtre, l'utilisateur peut également utiliser la clause where avec cette commande comme
SELECT * INTO [dbo].[Addresses]
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]') where [column_name]=’value’
5) Pour copier le fichier Excel dans la table SQL prédéfinie, utilisez la fonction OPENROWSET avec la commande d'insertion comme :-
Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))
INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=D:\SQL Scripts\msp.xls;IMEX=1;HRD=Yes','SELECT * FROM [Sheet1$]')
6) Pour les fichiers Excel 2007 - 2010, c'est-à-dire les fichiers avec l'extension XLSX, utilisez
SELECT *INTO [dbo].[Adresses]FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * DEPUIS [Feuille1$]')
je. Il créera une table avec le nom Adresses dans la base de données actuellement sélectionnée
ii. Microsoft.ACE.OLEDB.12.0 est le pilote utilisé pour la conversion
iii. Fichier Excel avec chemin - D:\SQL Scripts\msp.xlsx
iv. IMEX=1 propriété incluse, les colonnes qui contiennent des types de données mélangés sont traitées comme des types de données chaîne/texte.
v. La propriété HRD =Yes signifie que la ligne supérieure du fichier Excel se compose du nom de l'en-tête de colonne
vi. Sheet1 est le nom de la feuille que vous souhaitez importer
vii. Excel 12.0 spécifie qu'il s'agit d'un fichier Excel au format 2007 - 2010
7) Pour copier le fichier Excel dans la table SQL prédéfinie, utilisez la fonction OPENROWSET avec la commande d'insertion comme :-
Create table Custom (Source_IP_ADD varchar(20),API_NAME varchar(50),COUNT_NO varchar(5),CLIENT_ID varchar(50),Date_OF_INVOKE varchar(50))
INSERT INTO [dbo].[Custom] ( [Source_IP_ADD], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_OF_INVOKE])
SELECT [Source_IP_ADDR], [API_NAME], [COUNT_NO], [CLIENT_ID], [Date_INVOK] FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=D:\SQL Scripts\msp.xlsx;HDR=YES;IMEX=1' ,'SELECT * FROM [Sheet1$]')