Origen de ExcelExcel Source

El origen de Excel extrae datos de hojas de cálculo o de rangos de libros de MicrosoftMicrosoft Excel.The Excel source extracts data from worksheets or ranges in MicrosoftMicrosoft Excel workbooks.

El origen de Excel ofrece cuatro modos de acceso a datos distintos para extraer datos:The Excel source provides four different data access modes for extracting data:

  • Una tabla o vista.A table or view.

  • Una tabla o vista especificadas en una variable.A table or view specified in a variable.

  • Los resultados de una instrucción SQL.The results of an SQL statement. La consulta puede tener parámetros.The query can be a parameterized query.

  • Los resultados de una instrucción SQL, almacenados en una variable.The results of an SQL statement stored in a variable.

Importante

En Excel, una hoja o un rango equivalen a una tabla o vista.In Excel, a worksheet or range is the equivalent of a table or view. 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$) y rangos con nombre (identificados por la falta del signo $, como por ejemplo, MiRango).The list of available tables in the Excel Source and Destination editors displays existing worksheets (identified by the $ sign appended to the worksheet name, such as Sheet1$) and named ranges (identified by the absence of the $ sign, such as MyRange). Para obtener más información, vea la sección Consideraciones de uso.For more information, see the Usage Considerations section.

El origen de Excel usa un Administrador de conexiones con Excel para conectar con un origen de datos y el Administrador de conexiones especifica el archivo de libro que se debe usar.The Excel source uses an Excel connection manager to connect to a data source, and the connection manager specifies the workbook file to use. Para más información, consulte Excel Connection Manager.For more information, see Excel Connection Manager.

El origen de Excel tiene una salida normal y una salida de error.The Excel source has one regular output and one error output.

Consideraciones de usoUsage Considerations

El Administrador de conexiones con Excel usa el Proveedor OLE DB de MicrosoftMicrosoft para Jet 4.0 y el controlador ISAM (Método de acceso secuencial indexado) de Excel asociado para conectar con orígenes Excel de datos y leer y escribir datos en ellos.The Excel Connection Manager uses the MicrosoftMicrosoft OLE DB Provider for Jet 4.0 and its supporting Excel ISAM (Indexed Sequential Access Method) driver to connect and read and write data to Excel data sources.

Muchos artículos de MicrosoftMicrosoft Knowledge Base documentan el comportamiento de este proveedor y el controlador. Aunque estos artículos no son específicos de Integration ServicesIntegration Services ni de Servicios de transformación de datos (su predecesor), posiblemente le interese conocer determinados comportamientos que pueden provocar resultados inesperados.Many existing MicrosoftMicrosoft Knowledge Base articles document the behavior of this provider and driver, and although these articles are not specific to Integration ServicesIntegration Services or its predecessor Data Transformation Services, you may want to know about certain behaviors that can lead to unexpected results. 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.For general information on the use and behavior of the Excel driver, see HOWTO: Use ADO with Excel Data from Visual Basic or 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.The following behaviors of the Jet provider with the Excel driver can lead to unexpected results when reading data from an Excel data source.

  • Orígenes de datos.Data sources. 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).The source of data in an Excel workbook can be a worksheet, to which the $ sign must be appended (for example, Sheet1$), or a named range (for example, MyRange). 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 $.In a SQL statement, the name of a worksheet must be delimited (for example, [Sheet1$]) to avoid a syntax error caused by the $ sign. El Generador de consultas agrega automáticamente estos delimitadores.The Query Builder automatically adds these delimiters. 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.When you specify a worksheet or range, the driver reads the contiguous block of cells starting with the first non-empty cell in the upper-left corner of the worksheet or range. 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.Therefore you cannot have empty rows in the source data, or an empty row between title or header rows and the data rows.

  • Valores que faltan.Missing values. 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.The Excel driver reads a certain number of rows (by default, 8 rows) in the specified source to guess at the data type of each column. 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.When a column appears to contain mixed data types, especially numeric data mixed with text data, the driver decides in favor of the majority data type, and returns null values for cells that contain data of the other type. (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.(In a tie, the numeric type wins.) Most cell formatting options in the Excel worksheet do not seem to affect this data type determination. Para modificar este comportamiento del controlador de Excel, especifique el modo de importación.You can modify this behavior of the Excel driver by specifying Import Mode. Para especificar el modo de importación, agregue IMEX=1 al valor de Propiedades extendidas en la cadena de conexión del Administrador de conexiones con Excel en la ventana Propiedades .To specify Import Mode, add IMEX=1 to the value of Extended Properties in the connection string of the Excel connection manager in the Properties window. Para obtener más información, vea PRB: valores de Excel devueltos como NULL usando DAO OpenRecordset.For more information, see PRB: Excel Values Returned as NULL Using DAO OpenRecordset.

  • Texto truncado.Truncated text. Cuando el controlador determina que una columna de Excel contiene datos de texto, el controlador selecciona el tipo de datos (cadena o memorando) en función del valor más largo que muestrea.When the driver determines that an Excel column contains text data, the driver selects the data type (string or memo) based on the longest value that it samples. 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 memorando.If the driver does not discover any values longer than 255 characters in the rows that it samples, it treats the column as a 255-character string column instead of a memo column. Así, es posible que se trunquen las cadenas con más de 255 caracteres.Therefore, values longer than 255 characters may be truncated. Para importar datos de una columna memorando 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.To import data from a memo column without truncation, you must make sure that the memo column in at least one of the sampled rows contains a value longer than 255 characters, or you must increase the number of rows sampled by the driver to include such a row. Puede aumentar el número de filas muestreadas al incrementar el valor de TypeGuessRows en la clave del registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel .You can increase the number of rows sampled by increasing the value of TypeGuessRows under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel registry key. Para más información, vea PRB: transferencia de datos del origen de OLEDB de Jet 4.0 con error.For more information, see PRB: Transfer of Data from Jet 4.0 OLEDB Source Fails w/ Error.

  • Tipos de datos.Data types. El controlador de Excel reconoce solo un conjunto limitado de tipos de datos.The Excel driver recognizes only a limited set of data types. 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 memorando) se interpretan como cadenas Unicode de 255 caracteres (DT_WSTR).For example, all numeric columns are interpreted as doubles (DT_R8), and all string columns (other than memo columns) are interpreted as 255-character Unicode strings (DT_WSTR). Integration ServicesIntegration Services asigna los tipos de datos de Excel de la siguiente manera: maps the Excel data types as follows:

    • Numérico: flotante de doble precisión (DT_R8)Numeric – double-precision float (DT_R8)

    • Moneda: moneda (DT_CY)Currency – currency (DT_CY)

    • Booleano: booleano (DT_BOOL)Boolean – Boolean (DT_BOOL)

    • Fecha y hora: datetime (DT_DATE)Date/time – datetime (DT_DATE)

    • Cadena: cadena Unicode, longitud de 255 caracteres (DT_WSTR)String – Unicode string, length 255 (DT_WSTR)

    • Memorando: flujo de texto Unicode (DT_NTEXT)Memo – Unicode text stream (DT_NTEXT)

  • Conversiones de tipo de datos y de longitud.Data type and length conversions. Integration ServicesIntegration Services no convierte tipos de datos de forma implícita. does not implicitly convert data types. 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.As a result, you may need to use Derived Column or Data Conversion transformations to convert Excel data explicitly before loading it into a non-Excel destination, or to convert non-Excel data before loading it into an Excel destination. 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.In this case, it may be useful to create the initial package by using the Import and Export Wizard, which configures the necessary conversions for you. Entre algunos ejemplos de las conversiones que se pueden requerir, figuran:Some examples of the conversions that may be required include the following:

    • Conversión entre columnas de cadena de Excel Unicode y columnas de cadena no Unicode con páginas de códigos específicasConversion between Unicode Excel string columns and non-Unicode string columns with specific codepages

    • Conversión entre columnas de cadena de Excel de 255 caracteres y columnas de cadena de diferentes longitudesConversion between 255-character Excel string columns and string columns of different lengths

    • Conversión entre columnas numéricas de Excel de doble precisión y columnas numéricas de otros tiposConversion between double-precision Excel numeric columns and numeric columns of other types

Configuración del origen de ExcelExcel Source Configuration

Puede establecer propiedades a través del Diseñador de SSISSSIS o mediante programación.You can set properties through SSISSSIS Designer or programmatically.

El cuadro de diálogo Editor avanzado indica todas las propiedades que se pueden establecer mediante programación.The Advanced Editor dialog box reflects all the properties that can be set programmatically. 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:For more information about the properties that you can set in the Advanced Editor dialog box or programmatically, click one of the following topics:

Editor de origen de Excel (página Administrador de conexiones)Excel Source Editor (Connection Manager Page)

Utilice el nodo Administrador de conexiones del cuadro de diálogo Editor de origen de Excel para seleccionar el libro de Microsoft ExcelMicrosoft Excel que utilizará el origen.Use the Connection Manager node of the Excel Source Editor dialog box to select the Microsoft ExcelMicrosoft Excel workbook for the source to use. El origen de Excel lee los datos de una hoja de cálculo o un rango con nombre de un libro existente.The Excel source reads data from a worksheet or named range in an existing workbook.

Nota

La propiedad CommandTimeout del origen de Excel no está disponible en el Editor de origen de Excel, pero se puede establecer mediante el Editor avanzado.The CommandTimeout property of the Excel source is not available in the Excel Source Editor, but can be set by using the Advanced Editor. Para obtener más información acerca de esta propiedad, vea la sección Origen de Excel de Excel Custom Properties.For more information on this property, see the Excel Source section of Excel Custom Properties.

Opciones estáticasStatic Options

OLE DB, administrador de conexionesOLE DB connection manager
Seleccione un administrador de conexiones de Excel en la lista o cree una nueva conexión haciendo clic en Nuevo.Select an existing Excel connection manager from the list, or create a new connection by clicking New.

NuevaNew
Cree un administrador de conexiones mediante el cuadro de diálogo Administrador de conexiones con Excel .Create a new connection manager by using the Excel Connection Manager dialog box.

Modo de acceso a datosData access mode
Especifique el método para seleccionar datos del origen.Specify the method for selecting data from the source.

ValueValue DescriptionDescription
Tabla o vistaTable or view Recupera los datos de una hoja de cálculo o un rango con nombre del archivo Excel.Retrieve data from a worksheet or named range in the Excel file.
Variable de nombre de tabla o nombre de vistaTable name or view name variable Especifique la hoja de calculo o el rango con nombre de una variable.Specify the worksheet or range name in a variable.

Información relacionada Usar variables en paquetesRelated information: Use Variables in Packages
Comando SQLSQL command Recupera datos del archivo Excel mediante una consulta SQL.Retrieve data from the Excel file by using a SQL query.
Comando SQL de variableSQL command from variable Especifique el texto de la consulta SQL de una variable.Specify the SQL query text in a variable.

Vista previaPreview
Muestra una vista previa de los resultados mediante el cuadro de diálogo Vista de datos .Preview results by using the Data View dialog box. La vista previa puede mostrar hasta 200 filas.Preview can display up to 200 rows.

Opciones dinámicas del modo de acceso a datosData Access Mode Dynamic Options

Modo de acceso a datos = Tabla o vistaData access mode = Table or view

Nombre de la hoja de ExcelName of the Excel sheet
Seleccione el nombre de la hoja de cálculo o el rango con nombre de los disponibles en el libro de Excel.Select the name of the worksheet or named range from a list of those available in the Excel workbook.

Modo de acceso a datos = Variable de nombre de tabla o nombre de vistaData access mode = Table name or view name variable

Nombre de variableVariable name
Seleccione la variable que contiene el nombre de la hoja de cálculo o el rango con nombre.Select the variable that contains the name of the worksheet or named range.

Modo de acceso a datos = Comando SQLData access mode = SQL command

Texto de comando SQLSQL command text
Escriba el texto de una consulta SQL, genere la consulta haciendo clic en Generar consulta, o bien examine el archivo que contiene el texto de la consulta haciendo clic en Examinar.Enter the text of a SQL query, build the query by clicking Build Query, or browse to the file that contains the query text by clicking Browse.

ParámetrosParameters
Si ha escrito una consulta con parámetros mediante ?If you have entered a parameterized query by using ? como marcador de posición de parámetro en el texto de la consulta, utilice el cuadro de diálogo Establecer parámetros de consulta para asignar los parámetros de entrada de las consultas a las variables del paquete.as a parameter placeholder in the query text, use the Set Query Parameters dialog box to map query input parameters to package variables.

Build queryBuild query
Use el cuadro de diálogo Generador de consultas para crear visualmente la consulta SQL.Use the Query Builder dialog box to construct the SQL query visually.

ExaminarBrowse
Use el cuadro de diálogo Abrir para buscar el archivo que contiene el texto de la consulta SQL.Use the Open dialog box to locate the file that contains the text of the SQL query.

Analizar consultaParse query
Comprueba la sintaxis del texto de la consulta.Verify the syntax of the query text.

Modo de acceso a datos = Comando SQL de variableData access mode = SQL command from variable

Nombre de variableVariable name
Seleccione la variable que contiene el texto de la consulta SQL.Select the variable that contains the text of the SQL query.

Editor de origen de Excel (página Columnas)Excel Source Editor (Columns Page)

Use la página Columnas del cuadro de diálogo Editor de origen de Excel para asignar una columna de salida a cada columna externa (origen).Use the Columns page of the Excel Source Editor dialog box to map an output column to each external (source) column.

OpcionesOptions

Columnas externas disponiblesAvailable External Columns
Muestra la lista de columnas externas disponibles en el origen de datos.View the list of available external columns in the data source. Esta tabla no se puede usar para agregar o quitar columnas.You cannot use this table to add or delete columns.

Columna externaExternal Column
Vea las columnas externas (origen) en el orden en que la tarea las leerá.View external (source) columns in the order in which the task will read them. Puede cambiar este orden si elimina primero las columnas seleccionadas en la tabla anterior y luego selecciona las columnas externas de la lista en un orden diferente.You can change this order by first clearing the selected columns in the table discussed above, and then selecting external columns from the list in a different order.

Columna de salidaOutput Column
Permite proporcionar un nombre único para cada columna de salida.Provide a unique name for each output column. El nombre predeterminado es el nombre de la columna externa (origen) seleccionada; sin embargo, puede elegir un nombre único y descriptivo.The default is the name of the selected external (source) column; however, you can choose any unique, descriptive name. El nombre que indique se mostrará en el Diseñador SSISSSIS .The name provided will be displayed within SSISSSIS Designer.

Editor de origen de Excel (página Salida de error)Excel Source Editor (Error Output Page)

Utilice la página Salida de error del cuadro de diálogo Editor de origen de Excel para seleccionar opciones de control de errores y establecer las propiedades en las columnas de salida de errores.Use the Error Output page of the Excel Source Editor dialog box to select error handling options and to set properties on error output columns.

OpcionesOptions

Entrada o salidaInput or Output
Muestra el nombre del origen de datos.View the name of the data source.

ColumnaColumn
Permite ver las columnas externas (origen) seleccionadas en la página Administrador de conexiones del cuadro de diálogo Editor de origen de Excel.View the external (source) columns that you selected on the Connection Manager page of the Excel Source Editordialog box.

ErrorError
Permite especificar qué debe ocurrir cuando se produce un error: omitir el error, redirigir la fila o hacer que el componente no funcione.Specify what should happen when an error occurs: ignore the failure, redirect the row, or fail the component.

Temas relacionados: Control de errores en los datosRelated Topics: Error Handling in Data

TruncamientoTruncation
Permite especificar qué debe ocurrir cuando se produce un truncamiento: omitir el error, redirigir la fila o hacer que el componente no funcione.Specify what should happen when a truncation occurs: ignore the failure, redirect the row, or fail the component.

DescriptionDescription
Muestra la descripción del error.View the description of the error.

Establecer este valor en las celdas seleccionadasSet this value to selected cells
Permite especificar qué debe ocurrir en todas las celdas seleccionadas cuando se produce un error o un truncamiento: omitir el error, redirigir la fila o hacer que el componente no funcione.Specify what should happen to all the selected cells when an error or truncation occurs: ignore the failure, redirect the row, or fail the component.

AplicarApply
Aplica la opción de control de errores a las celdas seleccionadas.Apply the error handling option to the selected cells.