Ejecutar Consulta SQL desde Excel e importar datos a una Tabla
En este tutorial voy a mostrarles una manera sencilla de ejecutar una Consulta o un Query de SQL desde Excel y volcar los datos una Tabla.
Para desarrollar el tutorial tuve que instalar una máquina virtual con Windows Server y SQL Server, para simular un ambiente real. Anteriormente ya había desarrollado un tutorial sobre cómo Consultar información de SQL mediante Power Query. En este tutorial haremos igual una conexión, pero usaremos otra herramienta.
Credenciales de acceso al Servidor SQL
Para poder conectarnos al Servidor de SQL debemos saber primero el nombre del Servidor o la IP del mismo. Dentro de la máquina virtual ejecutamos la aplicación CMD y ejecutamos el comando IPCONFIG, el cual nos dirá la IP del Servidor de Windows. El usuario y contraseña de SQL serán las misma que asignaron al momento de la instalación o un usuario que puedan crear posterior a la instalación. En caso de que no tengas un ambiente de pruebas como el anterior, te sugiero solicites a tu departamento de Sistemas los siguientes datos:
-
IP o nombre del Servidor.
-
Usuario asignado de SQL.
-
Contraseña del usuario asignado.
Figura 1. Con el comando IPCONFIG obtenemos la IP del Servidor.
Usando Microsoft Query para importar datos desde SQL Server mediante una Consulta SELECT
El objetivo es realizar una consulta a una Base de datos de SQL y volcar el resultado de una Consulta SELECT a una Tabla de Excel. En mi entorno de prueba tengo la base de datos AdventureWorks, la cual proporciona Microsoft de manera gratuita para hacer prueba.
Una vez que tenemos los datos de IP, Usuario y Contraseña seguimos los siguientes pasos:
-
En Excel nos vamos a Datos > Obtener datos externos > Desde otras fuentes > Desde Microsoft Query.
-
En la ventana Elegir origen de datos elegimos <Nuevo origen de datos> y damos clic en Aceptar. Esto es para hacer la conexión hacia nuestro SQL Server.
Figura 2. Creamos una conexión hacia nuestra Base de datos de SQL Server.
Ver Video Ejecutar Consulta SQL desde Excel
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
-
En la ventana Crear nuevo origen de datos ingresamos el nombre que le daremos a la conexión y el controlador para SQL Server.
-
Damos clic en Conectar para ingresar las credenciales.
Figura 3. Damos un nombre a la conexión y elegimos el controlados de nuestra base de datos SQL Server.
-
En la ventana Inicio de sesión para SQL Server ingresamos la IP o nombre del Servidor, usuario y contraseña.
-
Aceptar.
-
Damos Aceptar de nuevo en la ventana Crear nuevo origen de datos.
-
Ahora vemos la conexión creada en la ventana Elegir origen de datos, como lo vemos en la Figura 2.
-
Elegimos la conexión creada y damos clic en Aceptar.
-
Cancelar. Si.
-
Cerrar.
-
Ahora se abre la ventana de Microsoft Query.
-
Damos clic en el botón SQL y pegamos la siguiente consulta:
USE AdventureWorksDW SELECT * FROM DimEmployee WHERE StartDate BETWEEN '2000/01/01 AND '2000/12/31' ORDER BY StartDate
-
Aceptar.
Figura 4. Se muestra el resultado de la consulta en Microft Query.
-
Cerramos la ventana de Power Query y ahora se mostrará la ventana Importar datos, donde elegiremos el destino donde queremos volcar los datos.
-
Elegimos Tabla y presionamos Aceptar.
Figura 5. Importamos los datos de la Consulta SQL a una Tabla de Excel.
Actualizar la Consulta
Para actualizar o refrescar la consulta anterior lo podemos hacer dando clic derecho en la Tabla y presionando Actualizar, y también lo podemos hacer en la pestaña Datos > Consultas y conexiones > Actualizar ó Actualizar todo. Si elegimos Actualizar todo se actualizarán todas las consultas que haya en el archivo.
Actualizar consulta con macros vba
Y como plus, te dejo una macro la cual servirá para actualizar la Consulta que hemos creado. Esta macro se podrá asignar a cualquier botón o autoforma.
'EXCELeINFO 'MVP Sergio Alejandro Campos 'http://www.exceleinfo.com 'https://www.youtube.com/user/sergioacamposh 'http://blogs.itpro.es/exceleinfo ' Sub ActualizarConsulta() With ActiveWorkbook.Connections("Consulta desde SQLPrueba").ODBCConnection .BackgroundQuery = True .Refresh End With End Sub
Descarga la base de datos de ejemplo
En esta ocasión sólo te pongo el link para descargar la base de datos AdventureWorks.
Si te gustó este tutorial por favor anótate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.