Cómo Exportar Datos de SQL Server a Excel

 Exportar tabla de SQL Server a Excel

En un artículo anterior, SQL y Excel: Por qué necesita ambos, mostramos que para muchas empresas el uso de SQL Server y Excel es un enfoque óptimo para la administración de datos. Para las organizaciones que utilizan SQL Server y Excel ampliamente, a menudo es necesario exportar datos de SQL Server a Excel. Las razones más comunes para obtener los datos en Excel son:

  • producir visualizaciones de datos, como cuadros y gráficos, para su uso en informes
  • agregar o analizar datos en gráficos dinámicos
  • cotejar datos de múltiples fuentes para una transformación posterior
  • poner los datos a disposición de usuarios que no son de bases de datos para que los vean o procesen

En este artículo, veremos cómo exportar datos de SQL Server a Excel. El primer método utiliza el Asistente de importación y exportación de SQL Server, que se puede usar para exportar datos a varios tipos de destino, no solo a Excel. El segundo método utiliza funcionalidad nativa en Excel. El tercer método utiliza el complemento SQL Spreads para Excel, que proporciona funcionalidad más allá del proceso de exportación. Hay pros y contras de cada método, que resumiremos al final del artículo.

Método (1): Exportación mediante el Asistente de importación y exportación de SQL Server

El Asistente de importación y exportación de SQL Server se puede iniciar desde SQL Server Management Studio o como una aplicación independiente.

Desde SQL Server Management Studio, haga clic en la base de datos desde la que desea exportar datos. Estamos usando la base de datos de demostración en nuestro ejemplo, así que haga clic en eso y luego haga clic con el botón derecho y seleccione Tareas > Exportar datos.

ssms_launch_export_wizard

Se muestra la página de bienvenida, y puede seguir adelante y hacer clic en «Siguiente».

wizard_welcome

En la siguiente pantalla, seleccione la fuente de datos. Para exportar desde SQL Server, seleccione ‘Cliente nativo de SQL Server’.

wizard_select_data_source

Una vez que haya seleccionado ‘Cliente nativo de SQL Server’, el asistente completará los detalles sobre el origen de datos.

Haga clic en ‘Siguiente’ para ir a la siguiente pantalla, donde elegirá el destino para la exportación, que para nosotros es Excel.

wizard_select_data_destination_excel

Cuando selecciona Excel como destino, debe proporcionar la ubicación del archivo de Excel. Al hacer clic en «Siguiente», puede ver el siguiente mensaje:

La operación no se pudo completar.
INFORMACIÓN ADICIONAL:
El «Microsoft».AS.OLEDB.16.0 ‘ el proveedor no está registrado en la máquina local. (Sistema.Datos)

wizard_warning

El motivo por el que aparece este mensaje es que cuando inicia el Asistente para importación y exportación de SQL Server desde SSMS, se inicia una versión de 32 bits del asistente (porque SSMS es de 32 bits) y su sistema operativo es de 64 bits. Hay más información sobre esto aquí.

Para evitar esto, debe cerrar SSM e ir al menú Inicio de Windows y buscar la versión de 64 bits del Asistente para importación y exportación de SQL Server desde el menú Inicio. Tenga en cuenta que esta versión solo se instalará en su equipo si ha instalado SQL Server.

wizard_launch_from_start

Una vez iniciada la versión independiente del Asistente, puede seguir los pasos descritos hasta ahora, que consistían en especificar el origen y el destino de la copia de datos. Ahora necesitamos definir lo que queremos copiar y (opcionalmente) configurar la operación de copia.

Después de hacer clic en «Siguiente» en la pantalla «Elegir un destino», especifique si desea exportar una o más tablas o vistas completas, o un subconjunto de datos a través de una consulta SQL. En nuestro caso, estamos exportando desde una sola tabla, por lo que podemos dejar seleccionada la opción predeterminada.

A continuación, vamos a editar las asignaciones de columnas haciendo clic en el botón ‘ Editar asignaciones.’. La pantalla Asignaciones de columnas le permite realizar cambios en el nombre y el tipo de datos de las columnas que se crearán en Excel mediante la operación de copia. En nuestro ejemplo, vamos a cambiar el tipo de datos para la columna ‘order_date’ de VarChar a DateTime. Dejaremos los demás como el valor predeterminado establecido por el asistente. Haz clic en «Siguiente». La siguiente pantalla del asistente resume que el origen es una tabla SQL llamada ventas y el destino será una hoja llamada «ventas» en el libro de Excel. Puede cambiar el nombre de la hoja según sea necesario.

Una vez hecho esto, haga clic en «Aceptar» para cerrar el diálogo y luego en «Siguiente».

Si alguna de las asignaciones que especificamos puede no tener éxito en el proceso de exportación, el Asistente para Importación y exportación de SQL Server muestra la página Revisar asignación de tipos de datos. Esta página resaltará las conversiones que el asistente necesita realizar para manejar las asignaciones que ha especificado. También indica lo que hará el asistente si hay un error durante la conversión. Puede ignorar el error o hacer que la exportación falle. En nuestro ejemplo, se han marcado varias columnas: las que tienen una conversión de nvarchar (max) a su equivalente en Excel, Texto largo, y también la conversión de VarChar a DateTime para la columna ‘order_date’. La configuración predeterminada es que el asistente falle si hay un error, por lo que dejaremos esa opción en su lugar.

wizard_review_data_mapping

Nota: Este Asistente de importación y exportación SQL utiliza SSIS bajo el capó; en otras palabras, cada vez que ejecuta el asistente, está creando un paquete SSIS. Es por eso que se le da la opción de guardarlo para uso futuro.Haz clic en «Siguiente». El asistente ahora le ofrece la oportunidad de guardar la configuración del Asistente como un paquete SSIS, además de la opción predeterminada de ejecutar la copia inmediatamente.

Solo vamos a dejar la opción predeterminada marcada y luego hacer clic en el botón «Siguiente».

El asistente muestra un resumen de los pasos que hemos configurado.

wizard_complete_the_wizard

Haga clic en ‘Finalizar’ y el asistente mostrará la pantalla final, que es el resultado de la ejecución. En nuestro caso, la ejecución fue exitosa, y podemos ver que 5484 registros se copiaron en la hoja de consulta en nuestro libro de Excel.

wizard_execution_successful

Podemos comprobar que los datos se han exportado de SQL Server a Excel abriendo el archivo que especificamos y comprobando la hoja de ‘ventas’.

sales_data_in_excel

Ahora que los datos están en Excel, podemos crear algunas visualizaciones o agregaciones, o cualquier otro procesamiento que queramos realizar. Por ejemplo, podríamos crear un gráfico dinámico para mostrar el Total por elemento por región.

Método (2): Exportación con funcionalidad nativa en Excel

Aunque el método en sí es casi el mismo, Microsoft ha realizado mejoras en las últimas versiones en la forma en que obtiene datos de otras fuentes en Excel. El cambio principal fue la adición de los asistentes y herramientas de importación de datos de consulta de energía como componente nativo en Excel 2016. Se accede a ellos desde el Editor de consultas de Energía, aunque no se muestra como tal en la cinta de Excel, sino que se marca como Get & Transform Data group en la pestaña Datos de la cinta de Excel.

excel_get_and_transform_data

Los pasos descritos a continuación son válidos para Excel 2016 y posteriores.

Para comenzar a exportar de SQL Server a Excel, haga clic en Datos > Obtener datos > De la base de datos > De la base de datos de SQL Server.

excel_getdata_fromsql

A continuación, se le pedirá que ingrese al servidor de base de datos al que desea conectarse y, opcionalmente, especifique una base de datos. Si no especifica una base de datos, puede seleccionar una de las disponibles en la siguiente pantalla.

excel_specify_server

Haga clic en «Aceptar». A continuación, se le pedirá que proporcione detalles de autenticación. El valor predeterminado es Windows, por lo que puede seguir adelante y hacer clic en «Conectar».

excel_database_authentication

La siguiente pantalla le permite navegar por las bases de datos y tablas del servidor de base de datos que especificó. Haga clic en la base de datos’ demo ‘para expandirla y luego haga clic en la tabla’ ventas’. Los datos de la tabla seleccionada se muestran en la ventana de la derecha. Ahora podríamos hacer clic en el botón «Cargar» para obtener los datos en Excel de inmediato. Alternativamente, podemos hacer clic en ‘Transformar datos’ para realizar transformaciones en los datos (por ejemplo, cambiar tipos de datos, limpiar algunos datos, realizar cálculos). Para este ejemplo, solo vamos a cargar los datos tal como están, así que adelante y haga clic en «Cargar».

excel_navigate_to_db

Los datos ahora se exportan desde la tabla en SQL Server y se cargan en una nueva hoja en Excel.

Eso es todo lo que necesitamos hacer para realizar una exportación simple de una tabla completa de SQL Server a Excel. Aparte del sencillo procedimiento que hemos descrito aquí, los asistentes y herramientas de importación de datos de consulta de energía proporcionan formas de «dar forma» a los datos de fuentes externas. Por ejemplo, puede eliminar una columna, cambiar un tipo de datos, combinar tablas para satisfacer sus necesidades específicas.

Método (3): Exportar con el complemento SQL Spreads para Excel

Si aún no tiene instalado el complemento SQL Spreads para Excel, puede descargar una copia aquí.

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

sqlspreads_click_design_mode

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.

sqlspreads_editconnection

Introduzca el nombre de su SQL Server en el campo Nombre de SQL Server. También debe elegir un método de autenticación: Inicio de sesión de Windows (Autenticación de Windows) o autenticación de SQL Server (utilizando un nombre y una contraseña configurados en SQL Server). La autenticación de Windows es la más segura de las dos opciones.

sqlspreads_connection_details

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.

sqlspreads_designer_db_list

Ahora podemos expandir la base de datos de demostración y seleccionar la tabla de ventas.

Al hacer clic en la tabla, los datos se exportan inmediatamente desde SQL Server y se copian en una hoja llamada «ventas» en Excel.

sqlspreads_sales_data_in_excel

¡Eso es todo! Hemos logrado exportar datos de SQL Server a Excel con solo un par de clics.

Hay varias opciones más disponibles para nosotros en el Diseñador de Spreads SQL. Por ejemplo, podemos:

  • filtrar los datos que se exportan desde SQL Server
  • establecer si se muestran ciertas columnas y/o de solo lectura
  • utilizar un valor de búsqueda para mostrar texto en lugar de un id para una columna
  • ordenar datos
  • realizar actualizaciones en Excel y guardar los cambios en SQL Server

Veremos algunas de estas opciones en una publicación de blog futura.

Resumen

Poder exportar datos de SQL Server a Excel es un requisito común en la mayoría de las empresas. Hemos analizado tres métodos para realizar esta tarea diaria. El primero utiliza el Asistente de importación y exportación de SQL Server, que es una funcionalidad nativa de SQL Server. El segundo método utiliza las herramientas nativas ‘Get & Transform’ en Excel. El tercero utiliza el complemento SQL Spreads para Excel.

Entonces, ¿qué método debe usar?

Si normalmente trabaja con bases de datos y SSMS es su segundo hogar, probablemente sienta que el Asistente de importación y exportación de SQL Server es la mejor opción para usted. Si usted es un usuario de Excel, entonces tiene sentido trabajar desde el propio Excel para exportar datos de SQL Server. Las dos opciones de Excel que hemos visto son robustas y fáciles de usar, pero SQL Spreads tiene una clara ventaja porque permite a los usuarios realizar actualizaciones de datos directamente en Excel y luego guardar los datos en SQL Server. Esta es una gran ventaja para aquellas organizaciones a las que les gusta lo mejor de ambos mundos: la facilidad de uso y la familiaridad de Excel, con la potencia y la integridad de los datos asociados con SQL Server.

Pruebe SQL Spreads para ver lo rápido y fácil que es exportar datos de SQL Server a Excel; descargue una versión de prueba gratuita 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.

Leave a Reply

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