Jak przenieść lub wyeksportować dane SQL Server 2005 do Excela
Mam proste zapytanie SQL 'Select' i chciałbym wrzucić wyniki do pliku Excel. Jestem w stanie zapisać tylko jako .csv i konwersja do .xls tworzy bardzo brzydkie wyjście. W każdym razie ,o ile mogę powiedzieć (za pomocą Google) to nie wydaje się być tak proste. Każda pomoc będzie bardzo mile widziana.
14 answers
Użyj "danych zewnętrznych" z Excela. Może używać połączenia ODBC do pobierania danych z zewnętrznego źródła: Data / Get External Data / New Database Query
W ten sposób, nawet jeśli dane w bazie danych ulegną zmianie, można łatwo odświeżyć.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 21:25:09
SSIS jest bezmyślny do robienia takich rzeczy i jest bardzo prosty (i to jest po prostu coś, co jest).
- Kliknij prawym przyciskiem myszy bazę danych w SQL Management Studio
- Przejdź do zadań, a następnie Eksportuj dane, zobaczysz łatwy w użyciu kreator.
- Twoja baza danych będzie źródłem, możesz wprowadzić swoje zapytanie SQL
- Wybierz Excel jako cel
- uruchom go na końcu kreatora
Jeśli chcesz, możesz zapisać pakiet SSIS jako cóż (jest opcja na końcu kreatora) tak, że można to zrobić w harmonogramie lub coś (a nawet otworzyć i zmodyfikować, aby dodać więcej funkcjonalności w razie potrzeby).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 21:17:59
Znalazłem łatwy sposób na eksport wyników zapytań z SQL Server Management Studio 2005 do Excela.
1) Wybierz pozycję menu zapytanie - > Opcje zapytania.
2) Ustaw pole wyboru w Results - > Grid - > Dołącz nagłówki kolumn podczas kopiowania lub zapisywania wyników .
Następnie, po wybraniu wszystkich i skopiowaniu wyników zapytania, możesz wkleić je do programu Excel, a nagłówki kolumn będą obecne.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-20 13:44:26
Jest to zdecydowanie najlepszy post do eksportu do Excela z SQL:
Http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926
Cytuję od użytkownika madhivanan
,
Oprócz korzystania z DTS i Export wizard, możemy również użyć tego zapytania do eksportu danych z SQL Server2000 do Excela
Utwórz plik Excel o nazwie testing mający nagłówki takie same jak w kolumnach tabeli i użyj tych zapytań
1 Eksport danych do istniejący plik Excela z tabeli SQL Server
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * FROM [SheetName$]') select * from SQLServerTable
2 Eksport danych z Excela do nowej tabeli 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 Eksport danych z Excela do istniejącej tabeli SQL Server
Insert into SQLServerTable Select * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;HDR=YES',
'SELECT * FROM [SheetName$]')
4 Jeśli nie chcesz wcześniej tworzyć pliku EXCEL i chcesz eksportować do niego dane, użyj
EXEC sp_makewebtask
@outputfile = 'd:\testing.xls',
@query = 'Select * from Database_name..SQLServerTable',
@colheaders =1,
@FixedFont=0,@lastupdated=0,@resultstitle='Testing details'
(Teraz możesz znaleźć plik z danymi w formacie tabelarycznym)
5 aby wyeksportować dane do nowego pliku EXCEL z nagłówkiem (nazwami kolumn), Utwórz następującą procedurę
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)
Po utworzenie procedury, wykonanie jej poprzez podanie nazwy bazy danych, nazwy tabeli i ścieżki do pliku:
EXEC proc_generate_excel_with_columns 'your dbname', 'your table name','your file path'
Its a whomping 29 pages ale to dlatego, że inni pokazują różne inne sposoby, jak również ludzie zadają pytania, jak to zrobić.
[9]}Śledź ten wątek całkowicie i spójrz na różne pytania zadawane przez ludzi i jak są one rozwiązywane. Zebrałem sporą wiedzę po prostu ją skimping i użyłem jej części, aby uzyskać oczekiwane wyniki.Aby zaktualizować pojedyncze komórki
A member also there Peter Larson posts the following: Myślę, że jednej rzeczy tu brakuje. Świetnie jest móc eksportować i importować do plików Excel, ale co powiesz na aktualizację pojedynczych komórek? Albo szereg komórek?
To jest zasada, jak sobie z tym radzisz
update OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=c:\test.xls;hdr=no',
'SELECT * FROM [Sheet1$b7:b7]') set f1 = -99
Możesz również dodawać formuły do programu Excel, używając tego:
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'
Eksport z nazwami kolumn za pomocą T-SQL
Członek Mladen Prajdic ma również wpis na blogu o tym, jak to zrobić tutaj
Bibliografia: www.sqlteam.com (btw jest to doskonały blog / forum dla każdego, kto chce uzyskać więcej z SQL Server).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:25
Jeśli szukasz przedmiotów ad-hoc, a nie czegoś, co umieściłbyś w SSIS. Z poziomu SSMS po prostu podświetl siatkę wyników, skopiuj, a następnie wklej do Excela, nie jest elegancki, ale działa. Następnie możesz zapisać jako natywny .xls zamiast .csv
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 21:21:30
Oto film, który pokaże Ci krok po kroku, jak eksportować dane do Excela. To świetne rozwiązanie dla "jednorazowych" problemów, w których musisz eksportować do Excela:
raportowanie Ad Hoc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-17 22:07:36
O wiele łatwiej jest to zrobić z poziomu Excela.!! Otwórz Excel Dane>Import/Eksport Danych>Import Danych Obok nazwy pliku kliknij przycisk "Nowe źródło" Na powitanie w Kreatorze połączeń danych wybierz Microsoft SQL Server. Kliknij Dalej. Wprowadź nazwę serwera i dane uwierzytelniające. Z listy rozwijanej wybierz bazę danych zawierającą potrzebną tabelę. Wybierz swój stolik, a następnie następny..... Wprowadź Opis, Jeśli chcesz i kliknij Zakończ. Po zakończeniu i z powrotem w programie Excel, po prostu kliknij " OK" Spokojnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-15 21:51:16
Utwórz źródło danych excel i wstaw wartości,
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=D:\testing.xls;',
'SELECT * FROM [SheetName$]') select * from SQLServerTable
Więcej informacji można znaleźć tutaj http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-15 09:05:58
Zawsze możesz użyć ADO, aby zapisać wyniki do komórek arkusza roboczego z obiektu recordset
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 12:24:44
Poręczne narzędzie Konwersja SQL do Excel konwertuje tabelę SQL lub wynik zapytania SQL do pliku Excel bez programowania.
Główne Cechy - Konwersja / eksport tabeli SQL do pliku Excel - Konwertuj / Eksportuj wiele tabel (wiele wyników zapytań) do wielu arkuszy Excel. - Zezwalaj na elastyczne zapytanie TSQL, które może zawierać wiele instrukcji SELECT lub innych złożonych zapytań.
B. Pozdrawiam, Alex
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-18 17:19:51
Istnieje kilka narzędzi do eksportu/importu z SQL Server do Excela.
Google to twój przyjaciel: -)
Używamy DbTransfer (który jest jednym z tych, które mogą eksportować pełną bazę danych do pliku Excel również) tutaj: http://www.dbtransfer.de/Products/DbTransfer .
Używaliśmy wcześniej funkcji openrowset w sql server, ale nigdy nie byłem z niej zadowolony, ponieważ nie jest zbyt łatwy w użyciu i brakuje jej funkcji i szybkości...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-08 14:44:21
Wypróbuj narzędzie 'Import i eksport danych (32-bit)'. Dostępne po zainstalowaniu MS SQL Management Studio Express 2012.
Za pomocą tego narzędzia bardzo łatwo jest wybrać bazę danych, tabelę lub wstawić własne zapytanie SQL i wybrać miejsce docelowe (na przykład plik MS Excel).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-19 11:00:26
Możesz kliknąć prawym przyciskiem myszy na siatce wyników w SQL server i wybrać Zapisz jako CSV. następnie możesz zaimportować to do Excela.
Excel daje Kreator importu, upewnij się, że wybierzesz rozdzielane przecinkami. działa dobrze dla mnie, gdy musiałem zaimportować rekordy 50k + do Excela.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-14 10:54:10
Sprawdź to.
Query -> Query Options.
Results -> Grid -> Include column headers when copying or saving the results
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-07 16:23:29