Paso 1., si eres administrador activa esta opción en caso contrario solicitalo con su respectiva área.
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
Paso 2
DECLARE @myfile varchar(800)
SET @myfile = 'C:\Libro1.xlsx' <- Nombre de archivo
EXEC ('
insert into OPENROWSET(''Microsoft.ACE.OLEDB.12.0'', //En mi caso este es mi proveedor que uso en //excel
''Excel 12.0 Xml;Database=' + @myfile + ';'', //Nuevamente el mismo caso que el de arriba.
''SELECT * FROM [Hoja1$]'') <- Consulta que se realiza al archivo Excel
SELECT [mes] FROM meses //consulta que se realiza a tu base de datos.
')
Explico rápido, en mi caso yo tenia la idea que el programa solo me generaba el archivo exel, sin embargo no es asi.
Lo cree de forma manual y el [Hoja1$] esta parte es el nombre de la hoja en Excel.
También lo puedes realizar desde la opción:
- Seleccionar la base de datos.
- Tareas
- Exportar datos
- Clic en siguiente
- configuras la información que te solicita "Datos de acceso a tu base de datos"
- Destino Opción Microsoft Excel
- Seleccionas la ruta de archivo
- Copiar los datos de 1 o varias tablas o vistas.
- Seleccionas las tablas
- Siguiente
- Finalizar.