Source Excel
Mis à jour : 15 septembre 2007
La source Excel extrait des données de feuilles de calcul ou de plages dans des classeurs Microsoft Excel.
Remarque : |
---|
Sur un ordinateur 64 bits, vous devez exécuter des packages qui se connectent aux sources de données Microsoft Excel en mode 32 bits. Le fournisseur Microsoft OLE DB pour Jet qui se connecte aux sources de données Excel est uniquement disponible en version 32 bits. |
Remarque : |
---|
Pour charger des données depuis une source de données qui utilise Microsoft Office Excel 2007, faites appel à une source OLE DB. Vous ne pouvez pas utiliser une source Excel pour vous connecter à une source de données Excel 2007. Pour plus d'informations, consultez Gestionnaire de connexions Excel. |
La source Excel fournit quatre modes d'accès aux données différents pour l'extraction des données :
- Une table ou une vue.
- Une table ou une vue spécifiée dans une variable.
- Les résultats d'une instruction SQL. La requête peut être une requête paramétrée.
- Les résultats d'une instruction SQL stockée dans une variable.
Important : |
---|
Dans Excel, une feuille de calcul ou une plage sont l'équivalent d'une table ou d'une vue. La listes de tables disponibles dans les éditeurs de source et de destination Excel n'affiche que des feuilles de calcul existantes (identifiées par le signe « $ » à la fin du nom de la feuille de calcul, par exemple « Feuille1$ ») et des plages nommées (signalées par l'absence du signe « $ », par exemple « MaPlage »). Pour plus d'informations, consultez la section Considérations sur l'utilisation. |
La source Excel utilise à un gestionnaire de connexions Excel pour se connecter à une source de données ; ce gestionnaire spécifie le classeur à utiliser. Pour plus d'informations, consultez Gestionnaire de connexions Excel.
La source Excel a une sortie normale et une sortie d'erreur.
Considérations sur l'utilisation
Le gestionnaire de connexions Excel utilise le fournisseur Microsoft OLE DB pour Jet version 4.0 et son pilote de prise en charge Excel ISAM (Indexed Sequential Access Method) pour se connecter puis lire et écrire les données dans les sources de données Excel.
De nombreux articles disponibles dans la Base de connaissances Microsoft documentent le comportement de ce fournisseur et de ce pilote et, bien que ces articles ne soient pas spécifiques à Integration Services ou à son prédécesseur DTS (Data Transformation Services), vous pouvez souhaiter vous informer sur certains comportements susceptibles de produire des résultats inattendus. Pour des informations générales sur l'utilisation et le comportement du pilote Excel, consultez COMMENT FAIRE : Utiliser ADO avec des données Excel à partir de Visual Basic ou de VBA.
Les comportements suivants du fournisseur Jet associé au pilote Excel peuvent produire des résultats inattendus lors de la lecture des données à partir d'une source de données Excel.
- Sources de données. Dans un classeur Excel, la source de données peut être une feuille de calcul, à laquelle le signe « $ » doit être ajouté (par exemple, « Feuille1$ ») ou une plage nommée (par exemple, « MaPlage »). Dans une instruction SQL, le nom d'une feuille de calcul doit être délimité (par exemple, « [Feuille1$] ») afin que le signe « $ » ne provoque pas une erreur de syntaxe. Le générateur de requêtes ajoute automatiquement ces délimiteurs. Lorsque vous spécifiez une feuille de calcul ou une plage, le pilote lit le bloc de cellules contigu, à partir de la première cellule non vide dans l'angle supérieur gauche de la feuille de calcul ou de la plage. Par conséquent, il ne peut pas y avoir de ligne vide dans les données source, ni entre les lignes de titre ou d'en-tête et les lignes de données.
- Valeurs manquantes. Le pilote Excel lit un certain nombre de lignes (par défaut, 8 lignes) dans la source spécifiée afin de déterminer le type de données de chaque colonne. Lorsqu'il s'avère qu'une colonne combine différents types de données, notamment des données numériques avec des données texte, le pilote porte son choix sur le type de données majoritaire et retourne des valeurs NULL dans les cellules qui contiennent des données de l'autre type. En cas d'égalité, le type numérique l'emporte. La plupart des options de mise en forme de cellule dans la feuille de calcul Excel n'affectent pas cette détermination du type de données. Vous pouvez modifier ce comportement du pilote Excel en spécifiant le mode d'importation. Pour spécifier le mode d'importation, ajoutez IMEX=1 à la valeur de Propriétés étendues dans la chaîne de connexion du gestionnaire de connexions Excel dans la fenêtre Propriétés. Pour plus d'informations, consultez PRB : valeurs Excel retournées en tant que valeurs NULL à l'aide de DAO.
- Texte tronqué. Lorsque le pilote détermine qu'une colonne Excel contient des données texte, il sélectionne le type de données (string ou memo) en fonction de la valeur la plus longue qu'il échantillonne. Si le pilote ne découvre pas de valeurs comptant plus de 255 caractères dans les lignes échantillonnées, il traite la colonne comme une colonne de type string à 255 caractères et non comme une colonne de type memo. Par conséquent, les valeurs de plus de 255 caractères peuvent être tronquées. Pour importer des données à partir d'une colonne de type memo sans troncation, vous devez vous assurer que la colonne de type memo dans au moins une des lignes échantillonnées contient une valeur comptant plus de 255 caractères, sinon, vous devez augmenter le nombre de lignes échantillonnées par le pilote pour inclure une telle ligne. Vous pouvez augmenter le nombre de lignes échantillonnées en augmentant la valeur de TypeGuessRows sous la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel. Pour plus d'informations, consultez PRB : échec de transfert de données de source Jet 4.0LEDB avec erreur de débordement de tampon.
- Types de données système. Le pilote Excel ne reconnaît qu'un ensemble limité de types de données. Par exemple, toutes les colonnes numériques sont interprétées comme doubles (DT_R8), et toutes les colonnes de type string (autres que les colonnes de type memo) sont interprétées comme des chaînes Unicode à 255 caractères (DT_WSTR). Integration Services mappe les types de données Excel de la manière suivante :
- Numérique – virgule flottante à double précision (DT_R8)
- Devise – devise (DT_CY)
- Booléen – Booléen (DT_BOOL)
- Date/heure – date (DT_DATE)
- String – chaîne Unicode, longueur 255 (DT_WSTR)
- Memo – flux de texte Unicode (DT_NTEXT)
- Type de données et conversions de longueur. Integration Services ne convertit pas implicitement les types de données. Vous devrez donc éventuellement utiliser des transformations Colonne dérivée ou Conversion de données pour convertir les données Excel explicitement avant de les charger dans une destination non-Excel, ou pour convertir des données non-Excel avant de les charger dans une destination Excel. Dans ce cas, il peut être utile de créer le package initial à l'aide de l'Assistant Importation et Exportation, qui configure les conversions nécessaires automatiquement. Des exemples de conversions pouvant être requises sont présentées ci-dessous :
- Conversion entre des colonnes Excel de type string Unicode et des colonnes de type string non-Unicode avec des pages de code spécifiques.
- Conversion entre des colonnes Excel de type string à 255 caractères et des colonnes de type string de longueurs différentes.
- Conversion entre des colonnes numériques Excel à double précision et des colonnes numériques d'autres types.
Configuration de la source Excel
Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programme.
Pour plus d'informations sur les propriétés définissables dans la boîte de dialogue Éditeur de source Excel, cliquez sur l'une des rubriques suivantes :
- Éditeur de source Excel (page Gestionnaire de connexions)
- Éditeur de source Excel (page Colonnes)
- Éditeur de source Excel (page Sortie d'erreur)
La boîte de dialogue Éditeur avancé reflète toutes les propriétés qui peuvent être définies par programme. Pour plus d'informations sur les propriétés définissables dans la boîte de dialogue Éditeur avancé ou par programme, cliquez sur l'une des rubriques suivantes :
Pour plus d'informations sur la définition des propriétés, cliquez sur l'une des rubriques suivantes :
- Procédure : mapper des paramètres de requête à des variables dans les composants de flux de données
- Procédure : définir les propriétés d'un composant de flux de données à l'aide d'un éditeur de composant
- Procédure : définir les propriétés d'un composant de flux de données dans la fenêtre Propriétés
- Procédure : définir les propriétés d'un composant de flux de données à l'aide de l'éditeur avancé
- Procédure : définir des attributs de tri sur une sortie
Pour plus d'informations sur une boucle dans un groupe de fichiers Excel, consultez Procédure : effectuer une boucle dans des fichiers et tableaux Excel.
Voir aussi
Tâches
Procédure : effectuer une boucle dans des fichiers et tableaux Excel
Concepts
Destination Excel
Variables Integration Services
Création du flux de données d'un package
Observations relatives à Integration Services sur des ordinateurs 64 bits
Autres ressources
Sources Integration Services
Working with Excel Files with the Script Task
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
15 septembre 2007 |
|
12 décembre 2006 |
|
5 décembre 2005 |
|