Interfaz de Usuario
Introducción
El interfaz de usuario sirve de asistente para la creación, administración y parametrización de Configuraciones de carga. Una vez creadas, se pueden ejecutar desde la propia interfaz de usuario, o bien, por línea de comandos.
- El capítulo "Gestión de Configuraciones" describe aquella parte del interfaz de usuario que es independiente del objetivo de Excel To Database.
- Este capítulo describe aquella parte del interfaz de usuario que permite la parametrización de las Configuraciones para esta aplicación.
- En este capítulo y capítulos posteriores se analizarán las diferentes opciones de parametrización para MS Access, SQL Server y Oracle, su implicación en la carga de datos y su comportamiento en función de los diferentes proveedores de datos y drivers.
Panel de Libros y Hojas: Selección Inteligente de Origen de Datos
Permite elegir qué hojas del libro de Excel se procesarán. La capacidad de procesar múltiples hojas simultáneamente optimiza drásticamente el tiempo de carga en entornos de gran volumen.
Tras seleccionar una Configuración en el "Panel Configuraciones" y pulsar el botón "Editar" aparece este Panel. Contiene, en la parte superior, los controles descritos en "Selección de Ficheros" y "Conexión a Base de Datos". En la parte inferior, aparecen los botones "Guardar", "Cancelar" y "Volver".
Se puede comenzar por seleccionar los libros que se desean cargar, o bien, por el establecimiento de la cadena de conexión a la base de datos de destino. Es indiferente.
-
Volver
Cierra el Panel de Libros y Hojas y retrocede al Panel Configuraciones.
-
Base de Datos Destino
Con el control "Conexión a Base de Datos" se determina la cadena de conexión a utilizar, y la base de datos de destino para los datos.
Tras el establecimiento de la cadena de conexión, se rellenan los "ComboBox" con los nombres de las tablas de usuario existentes en la Base de Datos seleccionada.
Las cadenas de conexión se almacenan en el fichero JSON SIN CIFRAR, por lo que quedará comprometida su seguridad ya que en ellas se almacena la contraseña. En futuras versiones, se solventará esta situación.
-
Selección de Ficheros de Datos
Tras la selección de los ficheros a cargar, se muestra en el panel un pequeño árbol jerárquico en el que se indica el nombre del Libro y las Hojas que contiene cada Libro.
El orden en que aparecen las Hojas es el orden en que serán cargadas en la base de datos. En futuras versiones está previsto que se pueda modificar dicho orden.
Excel To Database NO necesita la instalación de ningún driver ni aplicación de Office para leer este tipo de ficheros. Es por ello por lo que solamente se permite la carga del nuevo estándar de hojas de cálculo, es decir, los libros con extensión ".xlsx". Los libros con extensión ".xls" (versiones de Office del 97 al 2003 incluido) no pueden cargarse con esta aplicación.
Opciones de Carga de Hoja
Junto a cada Hoja aparecen una serie de opciones de configuración que se detallan en los siguientes apartados.
Opciones de Carga de Hoja
Con el fin de mostrar el comportamiento de las diferentes opciones de la aplicación, se han preparado una serie de tablas para MS Access, SQL Server y Oracle y varios Libros Excel. Los scripts de creación de tablas, los libros, las bases de datos MS Access y el fichero de Configuraciones para todos los capítulos se pueden descargar de: "Descarga de Ejemplos".
Los scripts de creación de tablas también se muestran en la documentación y, también, en la documentación se muestran las Hojas Excel utilizadas en cada momento como imágenes.
DROP TABLE IF EXISTS [dbo].[Tabla Interfaz Usuario];
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Tabla Interfaz Usuario](
[Char5] [char](5) COLLATE Modern_Spanish_100_CS_AS NULL,
[Char5 N Null] [char](5) COLLATE Modern_Spanish_100_CS_AS NOT NULL,
[Char5 N Null Def Val] [char](5) COLLATE Modern_Spanish_100_CS_AS NOT NULL CONSTRAINT DF_TIU_Value_Default Default 'V. D.',
[Char5UTF8] [char](5) COLLATE Modern_Spanish_100_CS_AS_SC_UTF8 NULL,
[SmallInt] [smallint] NULL,
[SmallMoney] [smallmoney] NULL,
[DateTime] [datetime] NULL CONSTRAINT DF_TIU_Value_Default2 DEFAULT getdate(),
[Identidad] [int] IDENTITY(1,1) NOT NULL,
PRIMARY KEY CLUSTERED
(
[Identidad] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
-
Cargar Hoja
Para cargar una determinada Hoja, el "CheckBox" de carga DEBE ESTAR MARCADO (en la figura anterior es el CheckBox que se encuentra dentro del círculo rojo). Para ello se han de cumplir determinadas condiciones:
- Tener seleccionada la tabla de destino.
- Haber realizado el mapeo de columnas.
Se ha de tener en cuenta que ante determinadas acciones realizadas por el usuario o la aplicación es posible que se marque/desmarque dicho "CheckBox" de carga. Por ello, se recomienda encarecidamente que se le preste la debida atención a esta opción.
Nota: Son estos CheckBox, cuando se encuentran marcados, los que consumen demasiados recursos de CPU en máquinas virtuales como se indicó en "Stop/Start".
-
Celda Inicio Buscar Cabeceras
Excel To Database supone que la primera línea de datos contiene la cabecera de las columnas. Está preparado para buscar el inicio de las cabeceras a partir de la celda indicada en este campo: Comienza buscando la primera celda no vacía en dirección horizontal (por columnas) hasta llegar a la última columna indicada por el rango utilizado (UsedRange) o hasta encontrar una celda combinada. Si no ha encontrado nada, o bien, la primera celda encontrada es una celda combinada, continua con la fila siguiente.
NOTA: El rango de datos que se desea cargar NO debe contener ninguna celda combinada. Cuando encuentre la primera, se terminará la lectura de datos de la Hoja y cargará todo lo leído hasta la fila anterior de la celda combinada encontrada. Ello es lógico, ya que Excel To Database no tiene la capacidad de deducir a qué columna/fila pertenece el dato contenido en una celda combinada y no realiza suposiciones.
En el ejemplo anterior se muestra un Libro con diferentes rangos de datos. Si Celda Inicio Buscar Cabeceras contiene el valor por defecto ("A1"), comenzará la búsqueda en dicha celda. Buscará en toda la fila, no encontrará nada y pasará a la siguiente fila. En la segunda fila encuentra la cabecera "Char5", ya que la siguiente celda es una celda combinada. Así, el rango de los datos a cargar será el "D3:D4", ya que la celda "D5" está vacía, es decir, ha encontrado una fila cuyos datos son todos nulos y ahí se detendrá la lectura de datos.
Búsqueda Columnas - 1
Si Celda Inicio Buscar Cabeceras se modifica para indicar que comience en la celda "G2", se encontrará, en primer lugar, con una celda combinada, lo cual hará que salte a la fila siguiente. Y en esa nueva fila encuentra las cabeceras "Char5", "SmallInt" y "SmallMoney". De esta forma, el rango de datos a cargar será el "H5:J10", ya que "I11" forma parte de una celda combinada y ahí se detendrá la lectura de datos.
En la figura siguiente se muestra el resultado encontrado:Búsqueda Columnas - 2
En el Panel de Mapeos se indica que el inicio de las cabeceras se encuentra en la celda "H4" y el final en la "J4". Las cabeceras encontradas son "Char5", "SmallInt" y "SmallMoney".
-
Sin Valores Error
Cuando está marcada esta opción, durante la fase de lectura de los datos, se sustituyen los valores de error de Excel por el valor indicado en Valor por Defecto/Valores NULL del Panel de Mapeos o NULL si no se ha indicado nada.
En la figura Búsqueda Columnas - 1 se observa que la celda "H6" contiene el error "División por cero". Al intentar cargar la Hoja, en el Panel de Resultados aparece el mensaje de error: "Celda H6, Valor: #DIV/0! es un dato de tipo ERROR.". Los datos no se cargan en la base de datos.
Sin Valores Error - 1
Sin embargo, si esta opción se encuentra marcada, se informa del error y, además, en la columna correspondiente se cargará un NULL o el Valores Defecto/Valores NULL indicado en el Panel de Mapeos. Junto al mensaje anterior del error, se añade el mensaje siguiente: "Se intentará cargar la celda como NULL (o el valor por defecto). Opción "Sin Valores Error" marcada."
Sin Valores Error - 2
-
Sin Errores de Conversión
Cuando está marcada esta opción, se sustituyen los errores de conversión de datos por NULL o por el Valores Defecto/Valores NULL indicado en el Panel de Mapeos.
Simplificando, Excel To Database contiene sus propios algoritmos de chequeo de datos, y conversión de tipos de datos. Cuando estos algoritmos no funcionan, se produce lo que se llama un error de conversión de datos. Excel To Database informa de dicho error:
Celda: I5, Valor: Bad Data, Tabla: dbo.Tabla Interfaz Usuario, Columna: SmallInt El contenido de la Celda no ha podido convertirse al tipo de datos Int16Entonces, Excel To Database asigna directamente el contenido de la celda, sin procesar, a la estructura encargada de almacenar los datos (DataTable). Dicho DataTable puede contener estructuras proporcionadas por Microsoft u Oracle para albergar algoritmos que convierten el dato al tipo de datos adecuado y chequean determinadas condiciones o restricciones.
Si la asignación directa del contenido de la celda al DataTable produce un error, Excel To Database informa de dicho error y no se ejecutará la fase de insercción de datos en la tabla correspondiente.Celda: I5, Valor: Bad Data, Tabla: dbo.Tabla Interfaz Usuario, Columna: SmallInt La cadena de entrada no tiene el formato correcto.No se puede almacenar <Bad Data> en la columna SmallInt. El tipo esperado es Int16.En la figura siguiente se muestran los mensajes que Excel To Database cuando el contenido de la celda I5 se intenta convertir a un entero y la opción "Sin Errores de Conversión" no está marcada. Como se puede apreciar, la fase de insercción de datos en la tabla no se ha lanzado.
Sin Errores de Conversión - 1
Si se marca esta opción ("Sin Errores de Conversión"), se informa del error y, además, en la columna correspondiente se cargará un NULL o el valor indicado en Valores Defecto/Valores NULL del Panel de Mapeos. Junto al mensaje anterior del error, se añade el mensaje siguiente: "Se intentará cargar la celda como NULL (o el valor por defecto). Opción "Sin Errores de Conversión" marcada."
Sin Errores de Conversión - 2
-
Tabla
En el "ComboBox" aparece la lista de tablas de usuario existentes en la base de datos indicada por la cadena de conexión. Simplemente se debe seleccionar aquella tabla dónde se desean cargar los datos de la Hoja, tras lo cual se activará el botón "Mapeo Columnas".
-
Usar Arrays
Cuando el destino de los datos es una base de datos Oracle y se utiliza el Proveedor de Datos "Oracle Data Provider for .NET, Managed Driver" existen dos posibilidades de alto rendimiento para la carga de datos:
-
Usar operaciones de Bulk Copy (CheckBox "Usar Arrays" sin marcar) que permite realizar cargas de grandes cantidades de datos de forma eficiente, ya que elimina una gran cantidad de sobrecarga de procesamiento durante la escritura en la base de datos. Sin embargo, este método tiene algunas limitaciones.
En Bulk Copy se describe este tipo de operaciones y sus limitaciones. Téngase en cuenta que Oracle no se caracteriza por la fiabilidad de su documentación ni por el detalle de la misma.
En Managed Driver se comentan los grandes y graves problemas que presenta esta opción. La mas grave es que permite la insercción de CUALQUIER COSA, como se describe más adelante, en Oracle: Truncar Cadenas, y que puede dejar la tabla en un estado inutilizable.
-
La otra posibilidad es usar Array Binding (CheckBox "Usar Arrays" marcado) que permite acelerar la carga de grandes volúmenes de datos. Como ya se ha mencionado, Oracle no se caracteriza por facilitar información gratuita, así que la poca información disponible está orientada a los desarrolladores y, como de costumbre, es escasa y poco fiable: Array Binding.
En Managed Driver se comentan los posibles problemas que presenta esta opción. Concretamente los problemas existentes con los campos de tipo LOB.
Aunque se han mencionado diversas limitaciones se insta a los usuarios a que se pongan en contacto con nosotros con el fin de buscar soluciones a los problemas encontrados, o en su defecto, completar la documentación aquí expuesta.
-
-
Con Transacción
Los Proveedores de Datos específicos para .NET disponen de la opción de copia masiva de datos: Bulk Copy. Esta opción permite la inserción eficiente de grandes de bloques de datos, y en caso de producirse un error, automáticamente deshacen toda la inserción de los bloques ya insertados.
Sin embargo, los proveedores de datos para OLE DB y para ODBC realizan las inserciones de datos registro a registro. Así, cuando se produzca un error durante la inserción de una determinada fila de datos, el resto de filas permanecerán insertadas en el destino (CheckBox "Con Transacción" sin marcar). Marcando esta opción, Excel To Database utilizará transacciones locales en la base de datos destino, y, en caso de producirse un error se deshacen todas las inserciones anteriores. De esta forma, el usuario sólo tendrá que corregir el dato problemático y volver a intentar la carga.
Panel de Mapeos
Tras la selección de la Tabla donde cargar una determinada hoja, se habilita el botón "Mapeo Columnas". Pulsando sobre dicho botón, se cierra el Panel de Libros y Hojas y se abre este panel.
Mapeo Columnas
El sistema realiza un mapeo automático detectando los nombres de las columnas. Si los nombres coinciden con la tabla de destino, la configuración es instantánea, reduciendo errores humanos en el proceso de ETL.
En la parte superior del panel se muestra información relativa a la Hoja Excel y a la Tabla de la base de datos:
- La fila, columna y celda donde comienza la cabecera en la Hoja Excel.
- El número de columnas, la columna y celda donde finaliza la cabecera en la Hoja Excel.
- El número de columnas de la Tabla de la base de datos.
El Panel alberga en su interior un "DataGrid de Mapeos" con diversas columnas que permitirá definir el emparejamiento de las columnas de la Hoja Excel con las columnas de la Tabla de la Base de Datos y precisar el comportamiento de la carga de datos para cada columna.
En la parte inferior, aparecen los botones "Guardar", "Cancelar" y "Volver".
-
Volver
Cierra el Panel de Mapeos y retrocede al Panel de Libros y Hojas.
-
DataGrid de Mapeos
El objetivo de este panel es el de emparejar columnas: en qué columna de la Tabla de la Base de Datos se ha de cargar cada columna de la Hoja del Libro Excel. Para ello se dispone de un ComboBox con la lista de todas las columnas de la Tabla y simplemente se ha de seleccionar aquella columna que se corresponde con la columna de la Hoja Excel. Excel To Database realiza un primer emparejado de columnas basado en el nombre de las mismas.
Como es lógico, una columna de la Tabla no puede cargarse dos veces, por lo que solamente podrá ser emparejada con una columna de la Hoja. Así, al seleccionar en el ComboBox una columna que ya estaba emparejada, se deshace dicho emparejamiento para realizar el nuevo emparejamiento de columnas.
Una vez realizado el emparejamiento, se ha de marcar el CheckBox Cargar Columna, situado en la izquierda, para indicar que dicha columna se desea cargar. Si no está marcado, esa columna de la Hoja Excel no será tenida en cuenta durante la lectura de datos ni en la carga de los mismos. Es el CheckBox rodeado con un círculo rojo de la figura anterior.
Además, en el DataGrid existen una serie de columnas que definen el comportamiento de la carga de datos para determinados tipos de columnas: "Truncar Cadenas" para columnas de cadenas de caracteres, "Redondeo Entero" para columnas de tipo entero, y "Redondeo Decimal" para columnas de tipo decimal (con escala y precisión).
Por último, en la columna "Valores Defecto/Valores NULL" se puede indicar un valor por defecto para cuando no haya dato, o éste sea NULL, o se activen las opciones "Sin Valores Error" y/o "Sin Errores de Conversión".
-
CheckBox Cargar Columna
La primera columna del DataGrid es una columna de CkeckBox. Cuando se encuentre marcado indica que la columna de la Tabla debe ser cargada, independientemente de si está asignado a una columna de la Hoja o no.
Si lo está, se cargará con los datos existentes en la Hoja. Si no lo está, se cargará con NULLs o con el Valores Defecto/Valores NULL indicado.
Es el CheckBox rodeado con un círculo rojo de la figura anterior.Evidentemente, sólo se podrán marcar aquellas filas del DataGrid cuyo contenido en Columnas Tabla Base Datos no se encuentre vacío.
Este CheckBox se marcará de forma automática cuando se asigne un Valores Defecto/Valores NULL a una columna de Tabla, independientemente de si está o no asignado a una Columna Hoja Excel.
Existe un CheckBox en la cabecera del DataGrid que permite marcar/desmarcar todos los CheckBox que tienen asociado una columna de Tabla.
Se recomienda encarecidamente comprobar el estado de esta columna, ya que es fuente de posibles despistes.
-
Columnas Hoja Excel
En esta columna del DataGrid aparecen los nombres de las columnas encontradas en la Hoja Excel. Son las primeras filas que se presentan en el DataGrid. A continuación, se presentan aquellas filas correspondientes a las columnas de Tabla no emparejadas con ninguna columna de la Hoja.
Se le asignará automáticamente una columna de la Tabla si ambos nombres coinciden. Las columnas de la Hoja que no tengan asignada una columna de tabla, evidentemente, no serán leídas.
-
Columnas Tabla Base Datos
En esta columna del DataGrid aparecen los nombres de las columnas de la Tabla de la Base de Datos. El emparejamiento se realiza seleccionado del ComboBox aquella columna de la Tabla que se desea emparejar con la columna de la Hoja.
El DataGrid no permite que dos columnas de la Hoja Excel tengan como destino la misma columna de la Tabla.Para desasignar una columna de la Tabla, sólo hay que poner el foco en el ComboBox y pulsar la tecla SUPR, tras lo cual, la columna Excel se quedará desasignada. Aparecerá en el DataGrid una nueva fila con la columna de la Tabla desemparejada.
Se debe tener en cuenta que algunos tipos de datos no podrán ser cargados en el destino. Como ejemplo, en el caso de SQL Server, las columnas identidad o las de tipo "TimeStamp" no pueden ser cargadas. En futuras versiones es posible que se permita cargar columnas identidad.
-
Observaciones
Por último, en esta columna se muestran diferentes mensajes asociados con el estado de la columna Excel o de la Tabla. Como por ejemplo "Columna de Tabla que no está en la Hoja" para indicar todas aquellas columnas de la Tabla que no tienen asignada ninguna columna de la Hoja.
Estas observaciones no son editables. Simplemente son mensajes de la aplicación.
- Además, en el DataGrid de Mapeos se encuentran las opciones: Valores Defecto/Valores NULL, Truncar Cadenas, Redondeo Entero y Redondeo Decimal.
Debido a su importancia se tratarán como capítulos independientes.
-
Descarga de Ejemplos
Puede descargar los ficheros de prueba desde aquí:
Para que funcionen correctamente, debe modificar ciertos archivos para que las rutas apunten a la carpeta donde se encuentren los archivos. También deberá modificar las cadenas de conexión para que apunten a las bases de datos donde ha creado las tablas de los ejemplos.
Por ejemplo:
Para MS Access debe sustituir los siguientes items para que apunten a
las carpetas apropiada:
"_carpeta": "G:\\Libros Excel"
"_cadenaConexion": "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=\"G:\\MSAccess\\MS Access ACCDB.accdb\""
"_cadenaConexion": "Driver={Microsoft Access Driver (*.mdb, *.accdb)};dbq=G:\\MSAccess\\MS Access ACCDB.accdb;defaultdir=G:\\MSAccess;driverid=25;fil=MS Access;filedsn=G:\\MSAccess\\MSAccess_ODBC_ACCDB_X64.dsn;maxbuffersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;threads=3;uid=admin;usercommitsync=Yes;app=Excel To Database"
Para Oracle ocurre algo similar:
"_carpeta": "C:\\Oracle"
"_cadenaConexion": "USER ID=UsuarioOracle;PASSWORD=Contrasenia;DATA SOURCE=localhost"
"_cadenaConexion": "Provider=OraOLEDB.Oracle.1;Data Source=localhost;Persist Security Info=False;Password=Contrasenia;User ID=UsuarioOracle;oledb.net=True;ndatatype=False;spprmslob=False;usesessionformat=True;application name=\"Excel To Database\""
"_cadenaConexion": "Driver={Oracle in 21_7};server=LOCALHOST;uid=UsuarioOracle;pwd=Contrasenia;dbq=LOCALHOST;dba=W;apa=T;exc=F;xsm=Default;fen=T;qto=T;frc=10;fdl=10;lob=T;rst=T;btd=F;bnf=F;bam=IfAllSuccessful;num=NLS;dpm=F;mts=T;mdi=F;csr=F;fwc=T;fbs=60000;tlo=O;mld=0;oda=F;ste=F;tsz=8192;ast=FLOAT;lps=8192;app=Excel To Database"
Con SQL Server:
"_carpeta": "H:\\SQL Server",
"_cadenaConexion": "Data Source=localhost;Initial Catalog=BASEDATOS;Integrated Security=True;Asynchronous Processing=True;MultipleActiveResultSets=True;Application Name=\"Excel To Database\";Workstation ID=Maquina"
"_cadenaConexion": "Provider=MSOLEDBSQL19.1;Data Source=localhost;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=BASEDATOS;Application Name=\"Excel To Database\";Workstation ID=Maquina;Use Encryption for Data=Optional;MARS Connection=True;DataTypeCompatibility=80;Application Intent=ReadWrite"
"_cadenaConexion": "Provider=MSOLEDBSQL.1;Data Source=localhost;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=BASEDATOS;Application Name=\"Excel To Database\";Workstation ID=Maquina;MARS Connection=True;DataTypeCompatibility=80;Application Intent=ReadWrite"
"_cadenaConexion": "Provider=SQLNCLI11.1;Data Source=localhost;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=BASEDATOS;Application Name=\"Excel To Database\";Workstation ID=Maquina;MARS Connection=True;DataTypeCompatibility=80;Application Intent=ReadWrite"
"_cadenaConexion": "Provider=Provider=SQLOLEDB.1;Data Source=localhost;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=BASEDATOS;Application Name=\"Excel To Database\";Workstation ID=Maquina;mars connection=True;datatypecompatibility=80"
"_cadenaConexion": "Driver={ODBC Driver 18 for SQL Server};server=localhost;trusted_connection=Yes;app=Excel To Database;wsid=Maquina;database=BASEDATOS;trustservercertificate=Yes;autotranslate=No;mars_connection=Yes"
"_cadenaConexion": "Driver={ODBC Driver 17 for SQL Server};server=localhost;trusted_connection=Yes;app=Excel To Database;wsid=Maquina;database=BASEDATOS;mars_connection=Yes"
"_cadenaConexion": "Driver=Driver={SQL Server};server=localhost;trusted_connection=Yes;app=Excel To Database;wsid=Maquina;database=BASEDATOS;mars_connection=Yes"
"_cadenaConexion": "Driver={SQL Server Native Client 11.0};server=localhost;trusted_connection=Yes;app=Excel To Database;wsid=Maquina;database=BASEDATOS;mars_connection=Yes"
Los archivos "*.dsn" también debe modificar su contenido para cambiar la ruta de los ficheros.
Por ejemplo:
Para MS Access:
DefaultDir=G:\MSAccess
DBQ=G:\MSAccess\MS Access ACCDB.accdb
Para Oracle:
DRIVER=Oracle in 21_7
UID=UsuarioOracle
DBQ=LOCALHOST
SERVER=LOCALHOST
Para SQL Server:
LANGUAGE=Español
DATABASE=BASEDATOS
WSID=Maquina
Trusted_Connection=Yes
SERVER=localhost
Una vez realizados los cambios, debe sustituir el fichero "Excel To Database.json" que se encuentra en la misma ubicación que Excel To Database por el modificado. ¿Puedo cargar hojas con diferentes estructuras a la vez? Sí, siempre que las columnas seleccionadas coincidan con el mapeo definido para la tabla de destino. ¿Qué sucede si cambio el nombre de una columna en Excel? Deberás actualizar el mapeo en la interfaz para que la herramienta reconozca la nueva columna de origen. Preguntas Frecuentes