Je trouve un peu de documentation sur le site Web de Microsoft qui s'applique à votre scénario. Ils recommandent de convertir toutes les valeurs numériques en chaînes.
http://support.microsoft.com/kb/257819
Comme indiqué précédemment, ADO doit deviner le type de données pour chaque colonne dans votre feuille de calcul Excel ou une plage. (Ceci n'est pas affecté par les paramètres de mise en forme des cellules Excel.) Un problème sérieux peut survenir si vous avez des valeurs numériques mélangées avec des valeurs de texte dans la même colonne. Le Jet et le fournisseur ODBC renvoient tous deux les données du type majoritaire, mais renvoient des valeurs NULL (vides) pour le type de données minoritaire. Si les deux types sont mélangés de manière égale dans la colonne, le fournisseur choisit le texte sur le texte.
Par exemple:
* In your eight (8) scanned rows, if the column contains five (5) numeric values and three (3) text values, the provider returns five (5) numbers and three (3) null values.
* In your eight (8) scanned rows, if the column contains three (3) numeric values and five (5) text values, the provider returns three (3) null values and five (5) text values.
* In your eight (8) scanned rows, if the column contains four (4) numeric values and four (4) text values, the provider returns four (4) numbers and four (4) null values.
J'ai ajouté 'IMEX = 1' pour appliquer le mode texte (j'ai besoin de récupérer ces cellules sous forme de texte non numérique) mais cela n'a pas aidé. Il est impossible de réentrer des valeurs en mode texte car il y en a beaucoup. Est-il possible de l'automatiser d'une manière ou d'une autre? – flashnik
Que se passe-t-il si vous essayez cette suggestion d'utiliser une requête au lieu du nom direct de table/feuille? Un léger inconvénient est que toutes les colonnes se présentent alors comme des cordes. http://munishbansal.wordpress.com/2009/12/15/importing-data-from-excel-having-mixed-data-types-in-a-column-ssis/ – jdot