Tengo una simple consulta SQL 'Seleccionar', 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.Cómo transferir o exportar datos de SQL Server 2005 a Excel
Respuesta
Utilice "Datos externos" de Excel. Puede usar la conexión ODBC para obtener datos de una fuente externa: Datos/Obtener datos externos/Nueva consulta de base de datos
De esta manera, incluso si los datos en la base de datos cambian, puede actualizar fácilmente.
Esto no funciona si el la computadora que ejecuta Excel no tiene acceso a la base de datos. – Shane
@Shane, sí, todo funciona mucho mejor después de encenderlo ... ;-) –
Heheh, a la derecha. Quise decir si SQL Server era inaccesible desde cualquier computadora que ejecutara Excel. En ese caso, necesitaría usar la solución SSIS. – Shane
SSIS es una obviedad para hacer cosas como esta y es muy directo (y este es el tipo de cosas para las que es).
- Haga clic derecho en la base de datos en SQL Management Studio
- Ir a Tareas y luego Exportar datos, A continuación, verá un fácil utilizar el asistente.
- Su base de datos será la fuente, se puede introducir la consulta SQL
- Elija Excel como objetivo
- hacerlo funcionar a finales de asistente
Si quisiera, podría ahorrar el paquete SSIS como bueno (hay una opción al final del asistente) para que pueda hacerlo en un horario o algo así (e incluso abrir y modificar 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. Luego puede guardar como .xls nativos en lugar de .csv
Estaba desplazándome para ver si alguien me había ofrecido esta opción, ya que es claramente la más fácil –
Aquí hay un video que le mostrará, paso a paso, cómo exportar datos a Excel. Es una gran solución para los problemas de una sola vez 'donde tiene que exportar a Excel:
Ad-Hoc Reporting
Gracias. Video muy útil – MDStephens
Excelente video. Muchas gracias :) – Sampath
Siempre se puede usar ADO para escribir los resultados fuera de las celdas de la hoja de un objeto de conjunto de registros
I' he encontrado 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) Establecer 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 Excel Datos> Importar/Exportar datos> Importar datos Al lado del nombre del archivo, haga clic en el botón "Fuente nueva" En 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 luego Siguiente ..... Ingrese una Descripción si lo desea y haga clic en Terminar. Cuando haya terminado y vuelva a Excel, simplemente haga clic en "OK" Fácil.
crear el origen de datos de Excel e insertar 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 informaciones están disponibles aquí http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926
Esto es para SQL Server, por supuesto ... –
Una herramienta muy útil Convert SQL to Excel convierte tabla de SQL o SQL resultado de la consulta al archivo de Excel sin necesidad de programación.
Características principales - Convertir/exportar una tabla de SQL a archivo de Excel - Convertir/exportar varias tablas (resultados de múltiples consultas) a varias hojas de trabajo de Excel. - Permitir consultas TSQL flexibles que pueden tener múltiples instrucciones SELECT u otras declaraciones complejas de consulta.
B. Saludos, Alex
Existe varias herramientas para la exportación/importación de SQL Server a Excel.
Google es su amigo :-)
Utilizamos DbTransfer (que es uno de los que se pueden exportar una base de datos completa a un archivo de Excel también) aquí: http://www.dbtransfer.de/Products/DbTransfer.
Hemos utilizado la característica openrowset del servidor sql anteriormente, pero nunca me satisfizo, porque no es muy fácil de usar y carece de características y velocidad ...
Esto es, con mucho, el mejor destino para exportar a Excel desde SQL:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926
Para citar de usuario madhivanan
,
Aparte de utilizar DTS y Asistente de exportación, también podemos usar esta consulta para exportar datos de SQL Server2000 a Excel
Crear un archivo de Excel prueba denominada tener las cabeceras mismo que el de las columnas de tabla y utilizar estas consultas
1 Exportar datos a un archivo de Excel existente de 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 desde Excel a la tabla nueva 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 desde Excel a 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 con antelación y quiere exportar los datos a ella, utilice
EXEC sp_makewebtask
@outputfile = 'd:\testing.xls',
@query = 'Select * from Database_name..SQLServerTable',
@colheaders =1,
@FixedFont=0,@lastupdated=0,@resultstitle='Testing details'
(Ahora se puede encontrar el archivo con los datos en formato tabular)
5 Para exportar los datos a un archivo de Excel nuevo con rumbo (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
[email protected]_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 '[email protected]+') as t" queryout "'[email protected]_name+'" -c'''
exec(@sql)
--Generate data in the dummy file
set @sql='exec master..xp_cmdshell ''bcp "select * from '[email protected]_name+'..'[email protected]_name+'" queryout "'[email protected]_file+'" -c'''
exec(@sql)
--Copy dummy file to passed EXCEL file
set @sql= 'exec master..xp_cmdshell ''type '[email protected]_file+' >> "'[email protected]_name+'"'''
exec(@sql)
--Delete dummy file
set @sql= 'exec master..xp_cmdshell ''del '[email protected]_file+''''
exec(@sql)
Después de crear el procedimiento, ejecutarlo proporcionando el nombre de base de datos, nombre de la tabla y la ruta del archivo:
EXEC proc_generate_excel_with_columns 'your dbname', 'your table name','your file path'
Su Whomping a 29 páginas, pero eso se debe a que otros muestran varias otras maneras, así como personas que hacen preguntas como ésta sobre la manera de hacerlo.
Sigue ese hilo por completo y mira las diferentes preguntas que las personas han hecho 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 células individuales
Un miembro también existe publica Peter Larson lo siguiente: Creo que una cosa es que falta 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 se las arreglan que
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 de 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 utilizando T-SQL
El miembro Mladen Prajdic también tiene una entrada en el blog sobre cómo hacer esto here
Referencias: www.sqlteam.com (por cierto este es un excelente blog/foro para cualquiera que busque sacar más provecho de SQL Server).
Ver este http://stackoverflow.com/questions/9086880/t-sql-export-to-new-excel-file/9086889 # 9086889 – JonH
puede hacer clic 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.
razon de downvote? – JGilmartin
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).
Compruebe esto.
Query -> Query Options.
Results -> Grid -> Include column headers when copying or saving the results
- 1. Cómo exportar datos de SQL Server 2005 a MySQL
- 2. sql server 2005 - exportar datos nvarchar (max)
- 3. Exportar datos de consulta SQL a Excel
- 4. Cómo exportar la consulta de SQL Server 2005 a CSV
- 5. Cómo transferir datos cifrados sql entre bases de datos de SQL Server 2005?
- 6. Exportar SQL a Excel
- 7. ¿Cómo puedo exportar datos desde SQL Server?
- 8. datos de transferencia de Excel a SQL Server
- 9. SQL Server 2008 a SQL Server 2005
- 10. Exportar de SQL Server a Excel con encabezados de columna?
- 11. cómo transferir los procedimientos almacenados entre las bases de datos de SQL Server 2005
- 12. Cómo exportar los datos de hoja de cálculo Excel a SQL Server 2008 tabla
- 13. Restaurar SQL Server 2008 DB * a * SQL Server 2005
- 14. App_Data/ASPNETDB.MDF a Sql Server 2005 (o 08)
- 15. ASP.Net Exportar datos a Excel
- 16. degradación de SQL Server 2008 a SQL Server 2005
- 17. Silverlight DataGrid: exportar a excel o csv
- 18. Mejor método para importar archivos csv o excel a SQL Server 2005 usando .net MVC view
- 19. Acceda a TimeZoneInfo desde SQL 2005 Server
- 20. Cómo exportar datos a un archivo Excel utilizando PHPExcel
- 21. exportar a Excel en jquery o jqGrid
- 22. Exportar a Excel C#
- 23. SQL Server 2005 - Exportar tabla mediante programación (ejecutar un archivo .sql para reconstruirlo)
- 24. datagridview exportar a excel
- 25. SQL Server 2005 replicación
- 26. ¿Cómo recuperar datos XML de SQL Server 2005?
- 27. Procedimiento almacenado de SQL Server exportar a libro de Excel con varias hojas
- 28. php + jqgrid + exportar a excel
- 29. Exportar tabla HTML a Excel
- 30. Exportar de PHP a Excel
Exportar al archivo de texto (opción "Guardar resultados como" en SQL Server Management Studio) e importar ese archivo a Excel ("Obtener datos externos" del texto). Enfrenté problemas usando los otros enfoques, como SSIS. "Datos externos de la conexión" porque no da una opción para ejecutar una consulta. – mauryat
Cualquiera que busque una respuesta en profundidad a esto, consulte este http://stackoverflow.com/questions/9086880/t-sql-export-to-new-excel-file/9086889#9086889 – JonH