Conectar Excel a SQL Server: 3 Pasos sencillos

En un artículo anterior, hablamos sobre por qué necesita Excel y SQL en sus soluciones de administración de datos, pero ¿cómo se conecta Excel a SQL Server? En este artículo, le mostraremos los pasos y resaltaremos un beneficio clave de usar un complemento de Excel como SQL Spreads.

Pero, primero, vamos a volver a limitar los beneficios de conectar Excel a los datos en SQL Server.

Beneficios de conectar Excel a SQL Server

Para demostrar los beneficios de conectar Excel a SQL Server, veamos un ejemplo.

Los representantes de ventas de una empresa de fabricación utilizan esta hoja de cálculo para preparar presupuestos para los clientes. Cada representante de ventas tiene una copia de la hoja de cálculo, que incluye una lista de artículos de inventario y sus precios. La lista de artículos de inventario y precios es extraída del sistema financiero por un administrador. La hoja de cotización utiliza algunas fórmulas de búsqueda de validación de datos para recuperar los precios cuando un representante de ventas selecciona un artículo del menú desplegable.

 Ejemplo de cotización hoja de cotización

Esto funciona bien hasta que la organización necesita actualizar los precios. En cuyo caso, cada usuario tendría que copiar y pegar el nuevo precio en la hoja de cálculo (o usar una nueva copia de la hoja de cálculo). Además, cuando el Representante de Ventas crea la cotización, no sabe si los artículos están realmente en stock.

Una mejor solución sería conectar la hoja de cálculo Excel a la tabla de inventario en la base de datos del sistema financiero. Cada vez que el Representante de ventas abre la hoja de cálculo de cotización, actualiza los datos de precios de la base de datos en vivo. Podemos ir un paso más allá y hacer que la conexión a la base de datos también devuelva los niveles de stock actuales para que se puedan preparar cotizaciones para artículos realmente en stock.

Así que, para resumir, los beneficios de conectar Excel a SQL Server son:

  • tenemos acceso y podemos ver información actualizada
  • estamos utilizando una única fuente de datos confiable
  • podemos realizar análisis o agregación sobre la marcha de los datos de origen utilizando funciones simples de Excel como tablas dinámicas

Conectar Excel a una base de datos SQL Server : 3 sencillos pasos

la forma más sencilla de conectar Excel a una base de datos de SQL Server es con Spreads SQL. SQL Spreads es un complemento simple de Excel.

La descarga de Spreads SQL se puede encontrar aquí, y el proceso de instalación se describe aquí.

Paso 1: Recopile los detalles de conexión de la base de datos

Necesitará la siguiente información para conectar Excel a SQL Server, así que obtenga los detalles como primer paso:

  • Nombre de SQL Server
  • Nombre de base de datos
  • Tabla o vista que contiene la información que necesita
  • Detalles de inicio de sesión (si no utiliza autenticación de Windows)

La forma del nombre de SQL Server dependerá de si SQL Server está instalado localmente, en una red o en una ubicación remota (tenga en cuenta que este es el mismo nombre que cuando se conecta a SQL Server en SQL Server Management Studio).

Típico nombre de servidor Caso
Localhost Cuando se instala SQL Server localmente
localhost\sqlexpress Cuando se instala SQL Server Express localmente
Dominio\nombre de servidor Cuando se instala SQL Server en una red corporativa
IP-address Cuando SQL Server está instalado en una ubicación remota

Paso 2: Conéctese a SQL Server

Una vez instalado SQL Spreads, lo verá como una nueva pestaña de cinta; vaya aquí y haga clic en el botón Modo de diseño.

Abra el Diseñador de extensiones SQL en Excel

En el panel Diseñador de extensiones SQL en el lado derecho, haga clic en el botón Editar para abrir el cuadro de diálogo de conexión de SQL Server.

 Abra el cuadro de diálogo de conexión de SQL Server

Introduzca el nombre de su SQL Server en el campo Nombre de SQL Server:

 Cuadro de diálogo Conectarse a SQL Server

Seleccione si debe conectarse mediante el inicio de sesión de Windows (Autenticación de Windows) o introduzca un nombre de usuario y una contraseña (Autenticación de SQL Server). La autenticación de Windows es la más segura de las dos opciones (consulte aquí para obtener más información).

 Seleccione el método de autenticación de SQL Server

Haga clic en Aceptar. Los Spreads SQL intentarán conectarse a la base de datos. Si la conexión se realiza correctamente, las bases de datos se mostrarán en el panel Diseñador de extensiones SQL.

 Lista de bases de datos del diseñador de Spreads SQL

Paso 3: Seleccione la tabla relevante en SQL Server

Ahora que hemos creado la conexión de Excel a SQL Server, podemos seleccionar qué tabla de datos queremos usar en Excel.

En el Diseñador de Spreads SQL, haga clic en la base de datos y, a continuación, seleccione su tabla.

 SQL Spreads Designer Lista de tablas AW

Tan pronto como seleccione una tabla, los datos de la tabla se rellenarán en la hoja de Excel.

Ahora puede ver todos los datos de su tabla de SQL Server y usarlos en su libro de Excel. El verdadero poder de los Spreads SQL es la capacidad de actualizar los datos de la tabla en SQL Server directamente desde Excel. Por ejemplo, puedo actualizar los precios en la tabla de productos directamente en Excel y guardar los cambios en SQL Server.

 Ejemplo de cotización Guardar en la base de datos

Ejemplo: Un formulario de cotización simple en Excel conectado a SQL Server

Volvamos a nuestro ejemplo anterior del formulario de cotización y la lista de inventario. Vamos a cambiar esto para que el formulario de cotización obtenga sus datos de la tabla en el servidor SQL en lugar de una lista estática en la hoja de cálculo.

Si desea seguir este ejemplo, deberá tener acceso a la base de datos de muestra de AdventureWorks, que puede obtener desde aquí.

Primero, vamos a crear una nueva hoja en el libro de trabajo quote_sample y dejarla con el nombre predeterminado de Sheet2 – los datos de SQL Server se rellenarán aquí.

 Ejemplo de cita agregar nueva hoja

A continuación, nos conectaremos a la base de datos de AdventureWorks utilizando los pasos descritos anteriormente.

Paso (1) : Detalles de conexión

Aquí están los detalles de conexión que voy a usar para conectarme a mi base de datos de SQL Server:

  • Nombre del servidor SQL: Andy\SQLExpress
  • Nombre de la base de datos: AdventureWorks
  • Tabla o vista: Producción.Producto
  • Detalles de inicio de sesión: Autenticación de Windows

Paso (2): Conectarse a SQL Server

Queremos conectarnos a la tabla de productos de SQL Server y rellenar la hoja de producto en la hoja de cálculo de cotización. Para hacer esto, hacemos clic en SQL Spreads > Modo de diseño e ingresamos los detalles de conexión y expandimos la base de datos correcta (en nuestro caso, AdventureWorks) para que podamos seleccionar la tabla relevante (en nuestro caso, Producción.Producto).

Paso (3): Seleccione la Producción.Tabla de productos en SQL Server

Haga clic en la Producción.La tabla de productos de la lista y los datos se rellenan automáticamente en la hoja de productos.

Ejemplo de cotización tabla de productos

Ahora podemos usar estos datos como fuente para nuestras búsquedas en la plantilla de cotización, pero antes de hacerlo, veremos cómo filtrar los datos devueltos de SQL para que solo se muestren los artículos en stock.

Haga clic en la pestaña Filtros en el Diseñador de Spreads SQL. En la opción Tipo de filtro, podemos seleccionar ‘Columna’ o ‘SQL personalizado’. Vamos a seleccionar ‘SQL personalizado’ porque necesitamos ejecutar una consulta SQL que devolverá solo los elementos en stock, y eso significa que necesitamos unir la tabla Product a la tabla ProductInventory.

 Ejemplo de cita filtro personalizado

Al hacer clic en la opción «SQL personalizado», se muestra un cuadro de texto donde puede ingresar la consulta SQL. Para nuestro caso de uso, queremos devolver una lista de productos a través de una consulta de unión, necesitaremos usar una consulta secundaria. Por lo tanto, necesitamos pegar lo siguiente:

Name in (SELECT P.Name AS ProductFROM AdventureWorks.Production.Product AS PJOIN AdventureWorks.Production.ProductInventory AS PI ON P.ProductID = PI.ProductIDJOIN AdventureWorks.Production.Location AS L ON PI.LocationID = L.LocationIDwhere L.Name = 'Finished Goods Storage' AND PI.Quantity > 0GROUP BY P.Name, P.ListPrice)

en el cuadro SQL personalizado:

 Ejemplo de cita consulta de filtro personalizada

Al hacer clic en «Guardar», los datos de la tabla de productos se reducen a los registros filtrados. Finalmente, vamos a actualizar el rango con nombre que fue utilizado por las búsquedas de validación de datos en la hoja de cotización:

 Ejemplo de cotización actualizar rango con nombre

Y, también necesitamos actualizar la función XLOOKUP que la hoja de cotización usa para obtener el precio cuando un usuario selecciona un elemento: necesita hacer referencia a la nueva Tabla2 que son los datos de SQL Server.

 Función de búsqueda de actualización de ejemplo de cita

¡Eso es todo! Nuestros representantes de ventas ahora pueden crear cotizaciones basadas en precios actualizados para artículos que están actualmente en stock. Cada vez que el Representante de ventas abra la hoja de cálculo, los datos se actualizarán desde SQL Server.

¡Función de bonificación! Actualice los precios en Excel y guárdelos en SQL Server

Hemos conectado Excel a SQL Server para que nuestros representantes de ventas puedan crear presupuestos basados en precios y disponibilidad actualizados al minuto.

Podemos ir un paso más allá y proporcionar la capacidad para que un usuario designado (por ejemplo, un Administrador) actualice los Precios de venta de los artículos directamente en Excel, y guarde las actualizaciones en la Producción.Tabla de productos en SQL Server.

Por ejemplo, si quisiera cambiar el precio del primer artículo de la lista a $39.99, puedo escribir en la celda de precio de lista y hacer clic en «Guardar en la base de datos», ¡es así de fácil! Por supuesto, nos gustaría que esta capacidad se bloqueara solo para ciertos usuarios, y esto se hace fácilmente a través de Spreads SQL.

 Precio de actualización de ejemplo de cotización

Resumen

En este artículo hemos mostrado lo fácil que es conectar Excel a SQL Server utilizando el complemento SQL Spreads. También pasamos por un ejemplo para mostrar cómo una hoja de cálculo de cotizaciones simple puede usar datos actualizados de precios de venta de una base de datos SQL, y cómo los precios en la base de datos también se pueden actualizar directamente desde Excel.

Descargue la versión de prueba de SQL Spreads y conecte Excel a SQL Server hoy mismo.

Andy
Artículo de

Andy McDonald

Andy ha trabajado más de 20 años en los sectores de Ingeniería, Finanzas y TI con análisis y presentación de datos utilizando herramientas como SQL Server, Excel, Power Query y Power BI.

Escribe para Spreads SQL sobre Excel y SQL Server y cómo unir ambos.

Write a Comment

Tu dirección de correo electrónico no será publicada.