Ignorer les premières lignes d’un fichier Excel avec SSIS

Comment importer un tableau Excel et ignorer les premières lignes du fichier avec SSIS ?

On peut procéder de deux manières différentes. La première, utiliser les paramètres par défaut en se connectant à une des feuilles du fichier Microsoft Excel. Ou encore la deuxième méthode, é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.

Ignorer les premières lignes d’un fichier Excel dans un package SSIS

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.

1. Requêtes pour lire une plage de cellule 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.

SELECT 	*
FROM 	OPENROWSET(
  'Microsoft.Jet.OLEDB.4.0',
  'Excel 8.0;Database=C:\Temp\Test2.xls;HDR=yes',
  'SELECT * FROM [Feuil1$A3:D]'
)

La méthode OPENROWSET permet de se connecter et de lire des données sur des fichiers ou des bases distantes avec OLE DB.

2. Utiliser une requête SQL depuis SSIS pour ignorer les premières lignes du fichier Excel

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]

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.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*