it-swarm-id.com

Bagaimana Anda mentransfer atau mengekspor data SQL Server 2005 ke Excel

Saya memiliki query 'Pilih' SQL sederhana, dan saya ingin membuang hasilnya ke file Excel. Saya hanya dapat menyimpan sebagai .csv dan mengkonversi ke .xls menciptakan beberapa output yang sangat jelek. Dalam kasus apa pun, sejauh yang saya tahu (menggunakan Google) ini sepertinya tidak terlalu mudah. Bantuan apa pun akan sangat dihargai.

47
YourMomzThaBomb

Gunakan "Data eksternal" dari Excel. Itu dapat menggunakan ODBC koneksi untuk mengambil data dari sumber eksternal: Data/Dapatkan Data Eksternal/Permintaan Basis Data Baru

Dengan begitu, bahkan jika data dalam database berubah, Anda dapat dengan mudah menyegarkan.

40
Sunny Milenov

SSIS adalah no-brainer untuk melakukan hal-hal seperti ini dan sangat lurus ke depan (dan ini hanya untuk itu saja).

  1. Klik kanan database di SQL Management Studio
  2. Buka Tugas dan kemudian Ekspor data, Anda akan melihat panduan yang mudah digunakan.
  3. Database Anda akan menjadi sumbernya, Anda dapat memasukkan kueri SQL Anda
  4. Pilih Excel sebagai target
  5. Jalankan di akhir panduan

Jika Anda mau, Anda bisa menyimpan paket SSIS juga (ada opsi di akhir wizard) sehingga Anda dapat melakukannya sesuai jadwal atau sesuatu (dan bahkan membuka dan memodifikasi untuk menambahkan lebih banyak fungsi jika diperlukan).

59
Ryan Farley

Saya telah menemukan cara mudah untuk mengekspor hasil kueri dari SQL Server Management Studio 2005 ke Excel.

1) Pilih item menu Permintaan -> Opsi Permintaan.

2) Setel kotak centang di Hasil -> Kotak -> Sertakan tajuk kolom saat menyalin atau menyimpan hasil.

Setelah itu, ketika Anda Pilih Semua dan Salin hasil kueri, Anda bisa menempelkannya ke Excel, dan tajuk kolom akan ada.

26
Mikhail Glukhov

Lihat ini


Sejauh ini, ini adalah pos terbaik untuk mengekspor ke Excel dari SQL:

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

Mengutip dari pengguna madhivanan,

Selain menggunakan DTS dan Ekspor wisaya, kami juga dapat menggunakan kueri ini untuk mengekspor data dari SQL Server2000 ke Excel

Membuat file Excel bernama pengujian memiliki header sama dengan kolom tabel dan menggunakan kueri ini

1 Ekspor data ke file Excel yang ada dari tabel SQL Server

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

2 Ekspor data dari Excel ke tabel SQL Server baru

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

3 Ekspor data dari Excel ke tabel SQL Server yang ada

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

4 Jika Anda tidak ingin membuat file Excel sebelumnya dan ingin mengekspor data ke dalamnya, gunakan

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

(Sekarang Anda dapat menemukan file dengan data dalam format tabular)

5 Untuk mengekspor data ke file Excel baru dengan tajuk (nama kolom), buat prosedur berikut

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)

Setelah membuat prosedur, jalankan dengan memberikan nama basis data, nama tabel dan jalur file:

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

Ini adalah 29 halaman tetapi itu karena orang lain menunjukkan berbagai cara lain serta orang-orang yang mengajukan pertanyaan seperti ini tentang cara melakukannya.

Ikuti sepenuhnya utas itu dan lihatlah berbagai pertanyaan yang diajukan orang dan bagaimana mereka dipecahkan. Saya mengambil sedikit pengetahuan hanya membaca sepintas lalu dan menggunakan sebagian dari itu untuk mendapatkan hasil yang diharapkan.

Untuk memperbarui sel tunggal

Seorang anggota juga di sana Peter Larson memposting yang berikut: Saya pikir ada satu hal yang hilang di sini. Sangat bagus untuk dapat Mengekspor dan Mengimpor ke file Excel, tetapi bagaimana dengan memperbarui sel tunggal? Atau serangkaian sel?

Ini adalah prinsip bagaimana Anda mengaturnya

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

Anda juga bisa menambahkan rumus ke Excel menggunakan ini:

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'

Mengekspor dengan nama kolom menggunakan T-SQL

Anggota Mladen Prajdic juga memiliki entri blog tentang cara melakukan ini di sini

Referensi: www.sqlteam.com (btw ini adalah blog/forum yang sangat baik bagi siapa saja yang ingin mendapatkan lebih banyak dari SQL Server).

13
JonH

Berikut adalah video yang akan menunjukkan kepada Anda, langkah demi langkah, cara mengekspor data ke Excel. Ini solusi hebat untuk masalah 'satu kali' di mana Anda perlu mengekspor ke Excel:
Pelaporan Ad-Hoc

5

Jika Anda mencari item ad-hoc daripada sesuatu yang Anda masukkan ke dalam SSIS. Dari dalam SSMS cukup sorot kotak hasil, salin, lalu tempel ke Excel, itu tidak elegan, tetapi berfungsi. Maka Anda dapat menyimpan sebagai .xls asli daripada .csv

5
Mitchel Sellers

Jauh lebih mudah untuk melakukannya dari dalam Excel. !! Buka Data Excel> Impor/Ekspor Data> Impor Data Di sebelah nama file, klik tombol "Sumber Baru" Pada Selamat Datang di Wisaya Sambungan Data, pilih Microsoft SQL Server. Klik Selanjutnya. Masukkan Nama Server dan Kredensial. Dari drop down, pilih basis data mana saja yang memegang tabel yang Anda butuhkan. Pilih tabel Anda lalu Berikutnya ..... Masukkan Deskripsi jika Anda mau dan klik Selesai. Setelah selesai dan kembali ke Excel, cukup klik "OK" Mudah.

3
Bill Anderson

Buat sumber data Excel dan masukkan nilainya,

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

Informasi lebih lanjut tersedia di sini http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926

2
Prathap

Alat praktis Konversi SQL ke Excel mengonversi tabel SQL atau hasil kueri SQL ke file Excel tanpa pemrograman.

Fitur Utama - Konversi/ekspor file SQL Table ke Excel - Konversi/ekspor beberapa tabel (beberapa hasil query) ke beberapa lembar kerja Excel. - Izinkan kueri TSQL fleksibel yang dapat memiliki beberapa pernyataan SELECT atau pernyataan kueri kompleks lainnya.

B. Salam, Alex

1
Alex

Ada beberapa alat untuk mengekspor/mengimpor dari SQL Server ke Excel.

Google adalah teman Anda :-)

Kami menggunakan DbTransfer (yang merupakan salah satu yang dapat mengekspor database lengkap ke file Excel juga) di sini: http://www.dbtransfer.de/Products/DbTransfer .

Kami telah menggunakan fitur openrowset dari sql server sebelumnya, tetapi saya tidak pernah senang dengan hal itu, karena itu tidak sangat mudah digunakan dan kurangnya fitur dan kecepatan ...

1
Michael Geller

Anda selalu dapat menggunakan ADO untuk menulis hasilnya ke sel lembar kerja dari objek recordset

1
Russ Cam

Coba alat 'Impor dan Ekspor Data (32-bit)'. Tersedia setelah menginstal MS SQL Management Studio Express 2012.

Dengan alat ini, sangat mudah untuk memilih basis data, tabel atau untuk memasukkan kueri SQL Anda sendiri dan memilih tujuan (misalnya file MS Excel).

0
Dennis