Comment importer un tableau depuis Excel et ignorer les premières lignes avec SSIS ?
La première solution pour ignorer les premières lignes d’un fichier Excel avec SSIS est d’utiliser les paramètres par défaut en se connectant à une des feuilles du tableur Excel. La deuxième méthode est d’écrire une requête SQL, avec une syntaxe spéciale pour Excel. Cette requête permet de sélectionner des plages de cellules particulières. Avec le paramétrage par défaut, le composant SSIS Excel Source charge toutes les lignes du fichier ou du moins de la zone Excel contenant des données, c’est à dire un tableau ou une plage de cellule.
Voici comment sélectionner ou ignorer les premières lignes d’un tableur Excel importé avec SSIS. Comme les entêtes par exemple ou les lignes vides. Utiliser et adapter les requêtes suivantes. Ces requêtes SQL chargent toutes les lignes ayant du contenu à partir de la 3ème ligne du fichier Excel à charger. En commençant par la colonne A et jusqu’à la colonne D.
Lire une plage de cellules Excel avec SSIS
Les requêtes ci-dessous permettent d’ignorer les deux premières lignes du fichier Excel. Renseigner simplement une requête SQL comme ci-dessous qui utilise la méthode OPENROWSET. Et qui spécifie le chemin du fichier directement dans le code SQL. Cette méthode fonctionne par exemple avec les anciens fichiers au format XLS, c’est à dire le format Excel 1997-2003.
D’ailleurs, ce format Excel a beaucoup de limitations, comme le nombre de lignes avec 65 536 au maximum et 256 colonnes, et n’est donc plus recommandé depuis des années. La méthode OPENROWSET permet de se connecter et de lire des données sur des fichiers ou des bases distantes avec OLE DB.
SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Temp\Test2.xls;HDR=yes', 'SELECT * FROM [Feuil1$A3:D]' )
Exemple de requête SQL pour ignorer les lignes d’un fichier Excel avec SSIS
Deuxièmement, cette requête simple sélectionne directement l’onglet et les cellules Excel. Il faut paramétrer au préalable la source Excel qui pointe vers le fichier Excel à importer dans la base.
SELECT * FROM [Feuil1$A3:D]
Ce court tutoriel explique comment facilement ignorer les premières lignes d’un fichier Excel avec SSIS. Voici en outre comment réaliser l’opération inverse, c’est à dire exporter les données depuis une table SQL Server vers un fichier Excel avec Integration Services.
Be the first to comment