txt tabla exportar ejemplos datos data con and sql sql-server

tabla - ¿Cómo transfieres o exportas datos de SQL Server 2005 a Excel?



sql server 2017 import and export data(64-bit) download (14)

Tengo una consulta SQL ''Seleccionar'' simple, y me gustaría volcar los resultados en un archivo de Excel. Solo puedo guardar como .csv y la conversión a .xls crea un resultado muy feo. En cualquier caso, por lo que puedo decir (usando Google), esto no parece ser tan directo. Cualquier ayuda sería muy apreciada.


Aquí hay un video que le mostrará, paso a paso, cómo exportar datos a Excel. Es una gran solución para problemas ''únicos'' en los que necesita exportar a Excel:
Reportes Ad-Hoc


SSIS es una obviedad para hacer cosas como esta y es muy sencillo (y este es el tipo de cosas para las que es).

  1. Haga clic con el botón derecho en la base de datos en SQL Management Studio
  2. Vaya a Tareas y luego Exportar datos, verá un asistente fácil de usar.
  3. Su base de datos será la fuente, puede ingresar su consulta SQL
  4. Elija Excel como el objetivo
  5. Ejecútalo al final del asistente

Si lo desea, también puede guardar el paquete SSIS (hay una opción al final del asistente) para que pueda hacerlo en un horario o algo así (e incluso abrirlo y modificarlo para agregar más funcionalidad si es necesario).


Si está buscando elementos ad-hoc en lugar de algo que pondría en SSIS. Desde dentro de SSMS, simplemente resalte la cuadrícula de resultados, copie y pegue en Excel, no es elegante, pero funciona. Entonces puede guardar como .xls nativos en lugar de .csv


Use "Datos externos" de Excel. Puede usar la conexión ODBC para obtener datos de una fuente externa: Datos / Obtener datos externos / Nueva consulta de la base de datos

De esa manera, incluso si los datos en la base de datos cambian, puede actualizar fácilmente.


Siempre puede usar ADO para escribir los resultados en las celdas de la hoja de cálculo de un objeto recordset


Encontré una manera fácil de exportar resultados de consultas de SQL Server Management Studio 2005 a Excel.

1) Seleccione la opción del menú Consulta -> Opciones de consulta.

2) Establezca la casilla de verificación en Resultados -> Cuadrícula -> Incluir encabezados de columna al copiar o guardar los resultados .

Después de eso, cuando selecciona Todo y copia los resultados de la consulta, puede pegarlos en Excel y los encabezados de columna estarán presentes.


¡ES MUCHO MÁS fácil hacerlo desde Excel! Abrir datos de Excel> Importar / Exportar datos> Importar datos Al lado del nombre del archivo, haga clic en el botón "Fuente nueva". Bienvenido Bienvenido al Asistente de conexión de datos, seleccione Microsoft SQL Server. Haga clic en Siguiente. Ingrese el nombre del servidor y las credenciales. En el menú desplegable, elija la base de datos que contenga la tabla que necesite. Seleccione su tabla y luego Siguiente ..... Ingrese una Descripción si lo desea y haga clic en Finalizar. Cuando haya terminado y vuelva a Excel, simplemente haga clic en "Aceptar" Fácil.


Cree la fuente de datos de Excel e inserte los valores,

insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=D:/testing.xls;'', ''SELECT * FROM [SheetName$]'') select * from SQLServerTable

Más información disponible aquí http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926


Una herramienta práctica Convertir SQL en Excel convierte la tabla SQL o el resultado de una consulta SQL en un archivo de Excel sin necesidad de programación.

Características principales - Convertir / exportar una tabla SQL a un archivo Excel - Convertir / exportar varias tablas (resultados de múltiples consultas) a múltiples hojas de trabajo de Excel. - Permitir consulta TSQL flexible que puede tener múltiples instrucciones SELECT u otras declaraciones complejas de consulta.

B. Saludos, Alex


Existen varias herramientas para exportar / importar de SQL Server a Excel.

Google es tu amigo :-)

Usamos DbTransfer (que es uno de los que puede exportar una base de datos completa a un archivo de Excel también) aquí: http://www.dbtransfer.de/Products/DbTransfer .

Hemos utilizado la función openrowset del servidor sql anteriormente, pero nunca me satisfizo, porque no es muy fácil de usar y carece de características y velocidad ...


puede hacer clic con el botón derecho en una grilla de resultados en el servidor SQL y seleccionar guardar como CSV. puede entonces puede importar esto en Excel.

Excel le ofrece un asistente de importación, asegúrese de seleccionar delimitado por comas. funciona bien para mí cuando necesitaba importar 50k + registros en Excel.


Pruebe la herramienta ''Importar y exportar datos (32 bits)''. Disponible después de instalar MS SQL Management Studio Express 2012.

Con esta herramienta es muy fácil seleccionar una base de datos, una tabla o insertar su propia consulta SQL y elegir un destino (un archivo MS Excel, por ejemplo).


Mira esto.

Query -> Query Options. Results -> Grid -> Include column headers when copying or saving the results


Mira esto

Esta es de lejos la mejor publicación para exportar a Excel desde SQL:

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926

Para citar al usuario madhivanan ,

Además de usar DTS y el asistente de exportación, también podemos usar esta consulta para exportar datos de SQL Server2000 a Excel

Cree un archivo de Excel llamado testing que tenga los encabezados iguales a los de las columnas de la tabla y use estas consultas

1 Exportar datos al archivo EXCEL existente desde la tabla de SQL Server

insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=D:/testing.xls;'', ''SELECT * FROM [SheetName$]'') select * from SQLServerTable

2 Exportar datos de Excel a la nueva tabla de SQL Server

select * into SQLServerTable FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=D:/testing.xls;HDR=YES'', ''SELECT * FROM [Sheet1$]'')

3 Exportar datos de Excel a la tabla de SQL Server existente

Insert into SQLServerTable Select * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=D:/testing.xls;HDR=YES'', ''SELECT * FROM [SheetName$]'')

4 Si no desea crear un archivo EXCEL por adelantado y desea exportar datos a él, use

EXEC sp_makewebtask @outputfile = ''d:/testing.xls'', @query = ''Select * from Database_name..SQLServerTable'', @colheaders =1, @FixedFont=0,@lastupdated=0,@resultstitle=''Testing details''

(Ahora puede encontrar el archivo con datos en formato tabular)

5 Para exportar datos al nuevo archivo EXCEL con encabezado (nombres de columna), cree el siguiente procedimiento

create procedure proc_generate_excel_with_columns ( @db_name varchar(100), @table_name varchar(100), @file_name varchar(100) ) as --Generate column names as a recordset declare @columns varchar(8000), @sql varchar(8000), @data_file varchar(100) select @columns=coalesce(@columns+'','','''')+column_name+'' as ''+column_name from information_schema.columns where table_name=@table_name select @columns=''''''''''''+replace(replace(@columns,'' as '','''''''''' as ''),'','','','''''''''') --Create a dummy file to have actual data select @data_file=substring(@file_name,1,len(@file_name)-charindex(''/',reverse(@file_name)))+''/data_file.xls'' --Generate column names in the passed EXCEL file set @sql=''exec master..xp_cmdshell ''''bcp " select * from (select ''+@columns+'') as t" queryout "''+@file_name+''" -c'''''' exec(@sql) --Generate data in the dummy file set @sql=''exec master..xp_cmdshell ''''bcp "select * from ''+@db_name+''..''+@table_name+''" queryout "''+@data_file+''" -c'''''' exec(@sql) --Copy dummy file to passed EXCEL file set @sql= ''exec master..xp_cmdshell ''''type ''+@data_file+'' >> "''+@file_name+''"'''''' exec(@sql) --Delete dummy file set @sql= ''exec master..xp_cmdshell ''''del ''+@data_file+'''''''' exec(@sql)

Después de crear el procedimiento, ejecútelo proporcionando el nombre de la base de datos, el nombre de la tabla y la ruta del archivo:

EXEC proc_generate_excel_with_columns ''your dbname'', ''your table name'',''your file path''

Es un susurro de 29 páginas, pero eso se debe a que otros muestran varias otras formas, así como a personas que hacen preguntas como esta sobre cómo hacerlo.

Siga ese hilo por completo y observe las diversas preguntas que las personas han formulado y cómo se resuelven. Recogí un poco de conocimiento simplemente rozando y he usado porciones de él para obtener los resultados esperados.

Para actualizar celdas individuales

Un miembro también allí Peter Larson publica lo siguiente: Creo que falta una cosa aquí. Es genial poder exportar e importar archivos a Excel, pero ¿qué hay de actualizar las celdas individuales? O un rango de celdas?

Este es el principio de cómo manejas eso

update OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=c:/test.xls;hdr=no'', ''SELECT * FROM [Sheet1$b7:b7]'') set f1 = -99

También puede agregar fórmulas a Excel usando esto:

update OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=c:/test.xls;hdr=no'', ''SELECT * FROM [Sheet1$b7:b7]'') set f1 = ''=a7+c7''

Exportación con nombres de columna usando T-SQL

El miembro Mladen Prajdic también tiene una entrada en el blog sobre cómo hacer esto aquí

Referencias: www.sqlteam.com (por cierto, este es un excelente blog / foro para cualquiera que busque sacar más provecho de SQL Server).