web-dev-qa-db-ja.com

Sql Server Management Studioでヘッダーを付けて結果を保存する

SQL Server Management Studioを使用しています。

クエリの結果をExcelファイルに保存したいです。

「名前を付けて保存」を選択してから、Excelで開くことができるCSVファイルに保存します。列ヘッダーがないことを除けば、すべてうまくいきます。

163
dublintech

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

このオプションを変更した後にSSMSを閉じて再度開く必要があります。

SQLエディタのツールバーで、SSMSを再起動しなくてもファイルに保存を選択できます

235
Diego

エクスポートウィザードを試してください。この例ではテーブル全体を選択していますが、クエリを簡単に指定できます。

enter image description here

enter image description here

enter image description here

enter image description here

(ここでもクエリを指定できます)

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

34
John Dewey

もう1つの可能性はクリップボードを使用して結果を直接Excelにコピー&ペーストすることです。データによっては予測できない結果になることがあるので、一般型のExcel列には注意してください。結果グリッド内の任意の場所でCTL-Aを右クリックし、

enter image description here

33
John Dewey

少なくともSQL Server 2012では、クエリウィンドウを右クリックして[クエリオプション]を選択できます。そこから、グリッドやテキストに[ヘッダーを含める]を選択し、[名前を付けて保存]をSSMSを再起動せずに希望どおりに機能させることができます。

新しいクエリウィンドウがデフォルトでこれらの設定を使用するようにするには、メニューバーの[ツール] - > [オプション]で変更する必要があります。

11

同じ問題がVisual Studioにも存在します。ここでそれを修正する方法は次のとおりです。

に行きなさい:

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

チェックボックスをクリックしてtrueにします。「結果をコピーまたは保存するときに列ヘッダーを含める」

7

左上隅をクリックして結果を選択し、右クリックして[ヘッダーを付けてコピー]を選択します。 Excelに貼り付けます。完了しました。

6
Chris Dimitriu

結果をエクスポートするときにSSMSがCSV区切り文字を適切にエスケープするようにする方法を探しているときにここに行きました。

何だと思う? - これは実際にはオプションであり、デフォルトではチェックされていませんです。そのため、デフォルトでは壊れたCSVファイルが作成され(エクスポートが大きく、データに通常コンマが含まれていない場合は特に気付かない可能性があります)、CSVにエクスポートするにはチェックボックスをクリックします。正しく!

私には、これは記念すべき愚かなデザインの選択と、一般的なソフトウェアへのマイクロソフトのアプローチに対する適切な隠喩のように思えます(「デフォルトでは壊れています。簡単な機能を動作させるには意味のない儀式的な行動が必要です」.

しかし、誰かがこの選択肢が存在するという現実的な正当な理由を一つ私に与えることができれば(すなわち、それが有用であった実際のシナリオ)、私は喜んで100ドルを回答者の選択の慈善団体に寄付します。

1

SQL Server Management Studio(SSMS)内で今後開かれるすべてのクエリセッションに対してこのオプションを永続的に設定する場合は、@ Diegoの承認された回答で変更することをお勧めします。これは通常ではありません。また、この設定を変更するには、SQL Server Management Studio(SSMS)アプリケーションを再起動する必要があります。これは、保存されていない開いているクエリセッションウィンドウが多く、デバッグの最中にある場合はあまり好ましくありません。

SQL Serverでは、セッションごとに変更するという、非常に手軽で便利な非常に滑らかなオプションが提供されています。クエリオプションウィンドウを使用して、以下の手順を詳しく説明します。

  1. 以下のように、クエリエディタウィンドウを右クリックし、コンテキストメニューの下部にあるQuery Options...をクリックします。

enter image description here

  1. 左側のナビゲーションペインで[Results]> [Grid]を選択します。以下に示すように、右ペインのInclude column headers when copying or saving the resultsチェックボックスをオンにします。

enter image description here

それでおしまい。あなたの現在のセッションはSSMSを再起動することなく即座の効果であなたの設定を尊重するでしょう。また、この設定は今後のセッションには反映されません。 セッションごとにこの設定を効果的に変更すると、ノイズが大幅に減少します

1
RBT

SQL Server 2014 Management Studioでは、設定は次のとおりです。

[ツール]> [オプション]> [クエリ結果]> [SQL Server]> [結果をテキストに変換]> [結果セットに列ヘッダを含める].

1
Jason Lewis

私も同じ問題に直面しています。クエリウィンドウを右クリックして、[クエリオプション]を選択しました。ただし、ヘッダー行は出力CSVファイルに表示されません。

それから私はサーバーからログオフし、再度ログインしてスクリプトを実行します。それからそれは働いた。

0
hardik rawal