Compartir a través de


Origen de Excel

Actualizado: 15 de septiembre de 2007

El origen de Excel extrae datos de hojas de cálculo o de rangos de libros de Microsoft Excel.

[!NOTA] En un equipo de 64 bits, debe ejecutar paquetes que conecten con los orígenes de datos de Microsoft Excel en modo de 32 bits. El proveedor OLE DB de Microsoft Jet que conecta con los orígenes de datos de Excel sólo está disponible en una versión de 32 bits.

[!NOTA] Para cargar datos desde un origen de datos que use Microsoft Office Excel 2007, utilice un origen de OLE DB. No puede usar un origen de Excel para conectarse a un origen de datos de Excel 2007. Para obtener más información, vea Administrador de conexión con Excel.

El origen de Excel ofrece cuatro modos de acceso a datos distintos para extraer datos:

  • Una tabla o vista.
  • Una tabla o vista especificadas en una variable.
  • Los resultados de una instrucción SQL. La consulta puede tener parámetros.
  • Los resultados de una instrucción SQL, almacenados en una variable.
ms141683.note(es-es,SQL.90).gifImportante:
En Excel, una hoja o un rango equivalen a una tabla o vista. La lista de tablas disponibles en los editores de Origen y Destino de Excel muestra las hojas de cálculo existentes (identificadas con el signo $ anexado al nombre de la hoja de cálculo, como, por ejemplo, Hoja1$) e intervalos nombrados (identificados por la falta del signo $, como, por ejemplo, MiRango). Para obtener más información, vea la sección Consideraciones de uso.

El origen de Excel usa un administrador de conexión con Excel para conectar con un origen de datos y el administrador de conexión especifica el archivo de libro que se debe usar. Para obtener más información, vea Administrador de conexión con Excel.

El origen de Excel tiene una salida normal y una salida de error.

Consideraciones de uso

El Administrador de conexión con Excel usa el Proveedor Microsoft OLE DB para Jet 4.0 y el controlador ISAM (Método de acceso secuencial indizado) de Excel asociado para conectar con orígenes Excel de datos y leer y escribir datos en ellos.

Muchos artículos de Microsoft Knowledge Base documentan el comportamiento de este proveedor y el controlador. Aunque estos artículos no son específicos de Integration Services ni de Servicios de transformación de datos (su predecesor), posiblemente le interese conocer determinados comportamientos que pueden provocar resultados inesperados. Para obtener información general sobre el uso y el comportamiento del controlador de Excel, vea Cómo usar ADO con datos de Excel procedentes de Visual Basic o VBA.

Los siguientes comportamientos del proveedor Jet con el controlador de Excel pueden provocar resultados inesperados al leer datos de un origen de datos de Excel.

  • Orígenes de datos. El origen de datos de un libro de Excel puede ser una hoja de cálculo, a cuyo nombre debe agregarse el signo $ (por ejemplo, Hoja1$), un rango con nombre (por ejemplo, MiRango). En una instrucción SQL, el nombre de la hoja debe estar delimitado (por ejemplo [Hoja1$]) para evitar un error de sintaxis producido por el signo $. El Generador de consultas agrega automáticamente estos delimitadores. Al especificar una hoja de cálculo o un rango, el controlador lee los bloques contiguos de celdas, comenzando con la primera celda no vacía en la esquina superior izquierda de la hoja de cálculo o rango. Por tanto, no deben dejarse filas vacías en los datos de origen, ni una fila vacía entre las filas de título o de cabecera y las filas de datos.
  • Valores que faltan. Este controlador lee un cierto número de filas (de forma predeterminada, 8) en el origen especificado para elegir el tipo de datos de cada columna. Cuando una columna parece contener varios tipos de datos, especialmente numéricos y de texto, el controlador elige el tipo más usado y devuelve valores NULL en las celdas que contienen datos de los demás tipos. (En caso de empate, el tipo numérico tiene prioridad.) La mayoría de las opciones de formato en las hojas Excel parecen no afectar a esta determinación de tipos de datos. Para modificar este comportamiento del controlador de Excel, especifique el modo de importación. Para especificar el modo de importación, agregue IMEX=1 al valor de Propiedades extendidas en la cadena de conexión del Administrador de conexión con Excel en la ventana Propiedades. Para obtener más información, vea PRB: valores de Excel devueltos como NULL usando DAO OpenRecordset.
  • Texto truncado. Cuando el controlador determina que una columna de Excel contiene datos de texto, el controlador selecciona el tipo de datos (cadena o memo) en función del valor más largo que muestrea. Si el controlador no descubre valores de más de 255 caracteres en las filas que muestrea, trata a la columna como una columna de cadena de 255 caracteres en lugar de una columna memo. Así, es posible que se trunquen las cadenas con más de 255 caracteres. Para importar datos de una columna memo sin que se trunquen, debe asegurarse de que la columna memo contenga, en al menos una de las filas muestreadas, un valor superior a los 255 caracteres, o tendrá que incrementar el número de filas muestreadas por el controlador para que se incluya dicha fila. Puede incrementar el número de filas muestreadas aumentando el valor de TypeGuessRows en la clave del Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel. Para obtener más información, vea PRB: transferencia de datos del origen de OLEDB de Jet 4.0 con error.
  • Tipos de datos. El controlador de Excel reconoce sólo un conjunto limitado de tipos de datos. Por ejemplo, todas las columnas numéricas se interpretan como dobles (DT_R8), y todas las columnas de cadena (a excepción de las columnas memo) se interpretan como cadenas Unicode de 255 caracteres (DT_WSTR). Integration Services asigna los tipos de datos de Excel de la siguiente manera:
    • Numérico: flotante de doble precisión (DT_R8)
    • Moneda: moneda (DT_CY)
    • Booleano: booleano (DT_BOOL)
    • Fecha y hora: fecha (DT_DATE)
    • Cadena: cadena Unicode, longitud de 255 caracteres (DT_WSTR)
    • Memo: secuencia de texto Unicode (DT_NTEXT)
  • Conversiones de tipo de datos y de longitud. Integration Services no convierte tipos de datos de forma implícita. Como resultado, probablemente necesite utilizar las transformaciones Columna derivada o Conversión de datos para convertir datos de Excel de forma explícita antes de cargarlos en un destino diferente de Excel, o para convertir datos que no son de Excel antes de cargarlos en un destino de Excel. En este caso, puede resultar útil crear el paquete inicial a través del Asistente para importación y exportación, que le configura las conversiones necesarias. Entre algunos ejemplos de las conversiones que se pueden requerir, figuran:
    • Conversión entre columnas de cadena de Excel Unicode y columnas de cadena no Unicode con páginas de códigos específicas
    • Conversión entre columnas de cadena de Excel de 255 caracteres y columnas de cadena de diferentes longitudes
    • Conversión entre columnas numéricas de Excel de doble precisión y columnas numéricas de otros tipos

Configurar el origen de Excel

Puede establecer propiedades a través del Diseñador SSIS o mediante programación.

Para obtener más información acerca de las propiedades que puede establecer en el cuadro de diálogo Editor de origen de Excel, haga clic en uno de los temas siguientes:

El cuadro de diálogo Editor avanzado indica todas las propiedades que se pueden establecer mediante programación. Para obtener más información acerca de las propiedades que puede establecer a través del cuadro de diálogo Editor avanzado o mediante programación, haga clic en uno de los temas siguientes:

Para obtener más información sobre cómo establecer valores de propiedades, haga clic en uno de los temas siguientes:

Para obtener información sobre la creación de bucles a través de un grupo de archivos de Excel, vea Cómo crear bucles entre archivos y tablas de Excel.

Vea también

Tareas

Cómo crear bucles entre archivos y tablas de Excel

Conceptos

Destino de Excel
Variables de Integration Services
Crear un flujo de datos de paquetes
Consideraciones acerca de Integration Services en equipos de 64 bits

Otros recursos

Orígenes de Integration Services
Working with Excel Files with the Script Task

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

15 de septiembre de 2007

Contenido nuevo:
  • Se agregó una nota sobre cómo utilizar un equipo de 64 bits para ejecutar paquetes que conectan con los orígenes de datos de Excel.

12 de diciembre de 2006

Contenido nuevo:
  • Se ha agregado una nota acerca del uso de orígenes de datos de Excel 2007.

5 de diciembre de 2005

Contenido modificado:
  • Se expandió y volvió a escribir gran parte de la sección Consideraciones de uso para aclarar problemas conocidos.