Aunque como DBAs profesionales nos duela vamos a quitarnos la tirita de golpe desde el principio y acabemos con esto: Excel es uno de los software más usados para almacenar e intercambiar información. Lo sé, eso ha dolido, nos dedicamos a las bases de datos y tenemos un especial odio a las hojas de cálculo, pero es lo que hay. A lo largo de nuestra carrera nos encontraremos en muchas ocasiones con datos en Excel que tenemos que importar a la base de datos. Por suerte para nosotros, el SQL Server Management Studio (SSMS) incorpora un asistente de importación para hacernos la vida más fácil.
Asistente de importación
A los que sois lectores del blog os sonará, pues ya lo hemos usado anteriormente para copiar datos entre tablas. Lo cierto es que el asistente de importación de datos es muy potente y nos permite tanto importar como exportar datos desde y hacia gran cantidad de sistemas. Realmente es una herramienta basada en SSIS (Integration Server) que simplifica en gran medida su uso para labores sencillas de movimiento de datos. Al estar basado en SSIS nos permitirá guardar el paquete dtsx para ejecutarlo en otro momento e incluso programarlo. Pero tranquilos, no nos va a exigir tener instalado ni corriendo el servicio de SSIS en nuestro servidor. Veamos cómo funciona
Importar datos de Excel
El asistente de importación nos permite importar datos de nuestro origen de datos a SQL Server, aunque hoy vamos a usarlo para importar desde excel tenéis que saber que se puede usar también para importar ficheros csv, todo tipo de archivos de texto plano y o de bases de datos. Si queréis reproducir este ejemplo en vuestra instalación de pruebas al final del artículo encontraréis un link de descarga al documento que he usado yo.
Abriremos el asistente de importación de datos haciendo click derecho sobre nuestra base de datos, tareas y a continuación importar datos. Una vez pasada la ventana de bienvenida al asistente seleccionaremos como origen de datos nuestro archivo Excel y como destino nuestra base de datos. Seleccionaremos copiar datos de una o varias tablas y continuaremos. En este momento podemos cambiar el esquema y el nombre de la tabla destino, podemos seleccionar una tabla existente o crear una tabla nueva. En el botón de editar mapeos podremos definir el tipo de datos de nuestra tabla en caso de que haya que crearla. Si existe tendremos otras opciones como borrar su contenido antes de cargar o añadir los datos a los existentes.Confirmaremos estos cambios y pasaremos a la siguiente ventana donde podremos elegir si ejecutar inmediatamente o guardar el paquete dtsx. Con todo esto estaremos listos para cargar los datos, podemos dar a finalizar y esperar a que termine.






Conclusiones
El asistente de importación y exportación de SSMS es muy potente. No te quedes solo con este ejemplo, prueba distintos tipos de importación, exporta tus tablas a excel o a ficheros de texto plano y gana soltura, cuando tengas que hacerlo lo agradecerás. Como siempre, si tienes cualquier duda puedes dejarla en los comentarios, mail o twitter.
Descarga el archivo de ejemplo:


[…] una de las entradas del blog https://www.soydba.es que mejor resultado ha tenido y que más os interesa. La importación de Excel a SQL Server y viceversa. Excel es una de las herramientas para consumo de datos más utilizadas del mundo y en […]
[…] para copiar los datos. No vamos a profundizar en este punto porque ya lo hemos explicado en este artículo y en este vídeo. Solo vas a tener que elegir el origen y el destino […]