He encontrado algunos documentos en el sitio web de Microsoft que se aplica a su situación. Recomiendan convertir todos los números a cadenas.
http://support.microsoft.com/kb/257819
Como se dijo anteriormente, ADO debe adivinar el tipo de datos para cada columna de la hoja de cálculo Excel o rango. (Esto no se ve afectado por la configuración de formato de celda de Excel.) Puede surgir un problema grave si tiene valores numéricos mezclados con valores de texto en la misma columna. Tanto Jet como el proveedor ODBC devuelven los datos del tipo de mayoría, pero devuelven valores NULL (vacíos) para el tipo de datos minoritario. Si los dos tipos se mezclan por igual en la columna, el proveedor elige texto numérico.
Por ejemplo:
* 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.
Agregué 'IMEX = 1' para imponer el modo de texto (necesito recuperar estas celdas como texto no numérico) pero no ayudó. Es imposible volver a ingresar valores en modo texto porque hay muchos de ellos. ¿Es posible automatizarlo de alguna manera? – flashnik
¿Qué sucede si prueba esta sugerencia de utilizar una consulta en lugar de un nombre directo de tabla/hoja? El pequeño inconveniente es que todas las columnas aparecen como cadenas. http://munishbansal.wordpress.com/2009/12/15/importing-data-from-excel-having-mixed-data-types-in-a-column-ssis/ – jdot