Menyimpan hasil dengan header di Sql Server Management Studio


183

Saya menggunakan SQL Server Management Studio.

Saya ingin menyimpan hasil kueri ke file excel.

Saya memilih "simpan sebagai" dan kemudian simpan ke file CSV yang dapat saya buka di excel. Semua baik kecuali saya kehilangan tajuk kolom, ada ide bagaimana saya membuatnya diekspor?

Jawaban:


274

Tools> Options> Query Results> SQL Server> Results to Text (or Grid if you want)>Include columns headers in the result set

Anda mungkin perlu menutup dan membuka kembali SSMS setelah mengubah opsi ini.

Pada SQL Editor Toolbar Anda dapat memilih save to file tanpa harus memulai ulang SSMS


35
+1, Mengujinya dan berfungsi: Alat -> Opsi -> Hasil Kueri -> SQL Server -> Hasil ke Kotak, lalu centang 'Sertakan tajuk kolom saat menyalin atau menyimpan hasil'.
Jeff Ogata

46
Ini berfungsi untuk SSMS 2012 - Anda harus memulai ulang SSMS agar pengaturan berlaku.
SliverNinja - MSFT

17
Untuk mengonfirmasi, Anda harus menutup dan membuka kembali SSMS agar opsi ini diterapkan.
Christopher King

8
Seperti kata Christopher, Anda harus memulai kembali SSMS agar perubahannya berfungsi.
Rob

8
Untuk SSMS 2016 Anda juga masih harus memulai ulang agar perubahan ini dapat diterapkan.
Chris Haas

36

Coba Panduan Ekspor. Dalam contoh ini saya memilih seluruh tabel, tetapi Anda dapat dengan mudah menentukan kueri:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

(Anda juga dapat menentukan kueri di sini)

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini


4
Terima kasih untuk itu. Tapi ini untuk tabel. Pertanyaan saya adalah pertanyaan.
dublintech

1
Anda juga dapat menentukan kueri di langkah keempat - "Tentukan Salin atau Kueri Tabel".
John Dewey

Saya mencoba semua pendekatan lain, dan ini adalah satu-satunya yang bekerja untuk tipe data campuran saya.
DOK

3
Sementara ini bekerja sangat menyakitkan dan memakan waktu. SQL Server dan Excel sama-sama produk MS, sungguh menakjubkan bahwa tidak ada tombol ekspor sederhana di tahun 2013!
Andre

34

Kemungkinan lain adalah menggunakan clipboard untuk menyalin dan menempelkan hasilnya langsung ke Excel. Berhati-hatilah dengan jenis umum kolom Excel, karena kadang-kadang dapat memiliki hasil yang tidak terduga, tergantung pada data Anda. CTL-Adi mana saja di kisi hasil, dan kemudian klik kanan:

masukkan deskripsi gambar di sini

Jika Anda memiliki masalah dengan format Umum Excel melakukan konversi yang tidak diinginkan, pilih kolom kosong di Excel sebelum Anda tempel dan ubah format menjadi "teks".


Ini bagus, kecuali untuk pemformatan Excel. Angka dengan angka nol di depan (mis. Nomor ponsel) menjatuhkan angka nol di Excel. Ada masalah pemformatan lain yang menunggu, gunakan dengan risiko Anda sendiri. Terima kasih Microsoft!
e_i_pi

12

Paling tidak di SQL Server 2012, Anda bisa klik kanan di jendela kueri dan pilih Opsi Kueri. Dari sana Anda dapat memilih Sertakan Header untuk kisi dan / atau teks dan buat Save As berfungsi seperti yang Anda inginkan tanpa memulai ulang SSMS.

Anda masih perlu mengubahnya di Tools-> Options di menu bar untuk memiliki jendela permintaan baru menggunakan pengaturan tersebut secara default.


7

Masalah yang sama ada di Visual Studio, berikut ini cara memperbaikinya di sana:

Pergi ke:

Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid

Sekarang klik kotak centang untuk true: "Sertakan tajuk kolom saat menyalin atau menyimpan hasil"


6

Pilih hasil Anda dengan mengklik di sudut kiri atas, klik kanan dan pilih "Salin dengan Header". Tempel di excel. Selesai!


4

Pengaturan yang telah disarankan untuk berubah dalam jawaban yang diterima @ Diego mungkin baik jika Anda ingin mengatur opsi ini secara permanen untuk semua sesi kueri mendatang yang Anda buka dalam SQL Server Management Studio (SSMS). Ini biasanya tidak demikian. Juga, mengubah pengaturan ini memerlukan memulai ulang aplikasi SQL Server Management Studio (SSMS). Ini lagi-lagi pengalaman yang 'tidak terlalu bagus' jika Anda memiliki banyak jendela sesi permintaan terbuka yang belum disimpan dan Anda berada di tengah-tengah beberapa proses debug.

SQL Server memberikan banyak pilihan untuk mengubahnya setiap sesi yang sangat cepat, praktis dan nyaman . Saya merinci langkah-langkah di bawah ini menggunakan jendela opsi permintaan:

  1. Klik kanan di jendela editor kueri> Klik Query Options...di bagian bawah menu konteks seperti yang ditunjukkan di bawah ini:

masukkan deskripsi gambar di sini

  1. Pilih Results> Griddi panel navigasi kiri. Centang Include column headers when copying or saving the resultskotak di panel kanan seperti yang ditunjukkan di bawah ini:

masukkan deskripsi gambar di sini

Itu dia. Sesi Anda saat ini akan menghormati pengaturan Anda dengan efek langsung tanpa memulai kembali SSMS. Selain itu, pengaturan ini tidak akan disebarkan ke sesi berikutnya. Mengubah pengaturan ini secara efektif pada basis per sesi jauh lebih tidak berisik.


2

Tiba di sini ketika mencari cara untuk membuat SSMS benar lolos dari pemisah CSV saat mengekspor hasil.

Tebak apa? - ini sebenarnya pilihan, dan tidak dicentang secara default . Jadi secara default, Anda mendapatkan file CSV yang rusak (dan mungkin bahkan tidak menyadarinya, terutama jika ekspor Anda besar dan data Anda tidak memiliki koma secara normal) - dan Anda harus masuk dan mengklik kotak centang sehingga ekspor CSV Anda benar!

Bagi saya, ini tampak seperti pilihan desain yang sangat bodoh dan metafora yang tepat untuk pendekatan Microsoft pada perangkat lunak secara umum ("rusak secara default, membutuhkan tindakan ritual yang tidak berarti untuk membuat fungsi sepele berfungsi").

Tapi saya dengan senang hati akan menyumbangkan $ 100 untuk amal pilihan responden jika seseorang dapat memberi saya satu alasan kehidupan nyata yang valid untuk opsi ini ada (yaitu, skenario aktual di mana itu berguna).


2

Di SQL Server 2014 Management Studio pengaturannya adalah di:

Alat> Opsi> Hasil Kueri> SQL Server> Hasil ke Teks> Sertakan tajuk kolom dalam set hasil.


0

Saya juga menghadapi masalah yang sama. Ketika saya menggunakan klik kanan di jendela kueri dan pilih Opsi Kueri. Tetapi baris tajuk tidak muncul dalam file CSV keluaran.

Lalu saya logout server, login lagi dan jalankan script. Lalu berhasil.


Apakah Anda mencoba mengubah Include column headers when copying or saving the resultsopsi? Pilihan ini terlihat ketika Anda memilih Results> Griddi panel navigasi kiri di Query Optionsjendela.
RBT
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.