Il est fréquent d'avoir à importer des données depuis un fichier Excel. Lorsqu'il s'agit d'une simple importation l'assistant d'importation de données permet de réaliser cette tâche efficacement. Cependant il est parfois nécessaire de travailler avec des données issues d'une feuille Excel pour faire une mise à jour des données présentes dans la base. Pour ces opérations rien ne remplace la souplesse d'utilisation de OPENROWSET. L'instruction OPENROWSET va permettre de construire dynamiquement et localement à la requête une source de données.
Les paramètres de cette instruction sont:
Dans le cas présenté ici les données se trouvent sur la feuille cpo dans le fichier cpo.xlsx, soit un fichier au format Excel 2007. Voici comment se présente le fichier
Les paramètres à utiliser pour l'instruction OPENROWSET sont donc les suivant:
La requête à exécuter est donc:
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=C:\test\cpo.xlsx;',
'SELECT Commune, CodePos FROM [cpo$]');
Et le résultat est le suivant: