SQL ServerからExcelにデータをエクスポートする方法
前の記事では、SQLとExcel:両方が必要な理由は、多くの企業にとってSQL ServerとExcelの両方を使用することがデータ管理に最適なアプローチであることを示しました。 SQL ServerとExcelを広範囲に使用する組織では、SQL ServerからExcelにデータをエクスポートする必要があることがよくあります。 データをExcelに取得する最も一般的な理由は次のとおりです:
- レポートで使用するグラフやグラフなどのデータ視覚化を作成する
- ピボットチャートでデータを集計または分析する
- 複数のソースからのデータを照合して、さらなる変換を行う
- データベース以外のユーザーがデータを表示または処理できるようにする
この記事では、データを表示または処理できるようにする方法を見ていきます。sql serverからexcelにデータをエクスポートします。 最初の方法では、SQL Serverのインポートとエクスポートウィザードを使用して、Excelだけでなく、いくつかの変換先の種類にデータをエクスポートできます。 第二の方法は、Excelのネイティブ機能を使用しています。 第三の方法は、エクスポートプロセスを超えた機能を提供するEXCEL用SQLスプレッドアドインを使用します。 各方法には長所と短所がありますが、記事の最後で要約します。
方法(1):SQL Serverインポートおよびエクスポートウィザードを使用したエクスポート
SQL Serverインポートおよびエクスポートウィザードは、SQL Server Management Studio内から、またはスタン
SQL Server Management Studio内で、データのエクスポート元のデータベースをクリックします。 この例ではデモデータベースを使用しているので、それをクリックして右クリックし、[タスク>データのエクスポート]を選択します。
ようこそページが表示され、先に進んで”次へ”をクリックすることができます。
次の画面で、データソースを選択します。 SQL Serverからエクスポートするには、”SQL Server Native Client”を選択します。
‘SQL Server Native Client’を選択すると、データソースに関する詳細がウィザードによって入力されます。
“次へ”をクリックして次の画面に移動し、エクスポート先を選択します。
目的地の選択肢としてExcelを選択するときは、Excelファイルの場所を指定する必要があります。 “次へ”をクリックすると、次のメッセージが表示されることがあります。
操作を完了できませんでした。
追加情報:
‘Microsoft.エースOLEDB。16.0’プロバイダーがローカルマシンに登録されていません。 (システム。データ)
このメッセージが表示されるのは、SSMSからSQL Serverインポートおよびエクスポートウィザードを起動すると、(SSMSが32ビットであるため)32ビットバージョンのウィザード これに関するより多くの情報がここにあります。
これを回避するには、SSMSを閉じてWindowsのスタートメニューに移動し、スタートメニューからSQL Serverのインポートとエクスポートウィザードの64ビットバージョンを検索 このバージョンは、SQL Serverがインストールされている場合にのみコンピュータにインストールされます。
ウィザードのスタンドアロンバージョンが起動したら、これまでに説明したように、データコピーのソースとコピー先を指定する手順を実行できます。 次に、コピーしたいものを定義し、(オプションで)コピー操作を設定する必要があります。
“宛先の選択”画面で”次へ”をクリックした後、一つ以上の完全なテーブルまたはビュー、またはSQLクエリを介してデータのサブセットをエクスポートするかどうかを指定します。 私たちの場合は、単一のテーブルからエクスポートしているので、デフォルトのオプションを選択したままにしておくことができます。
次に、’Edit Mappings…’ボタンをクリックして列のマッピングを編集します。 列マッピング画面では、コピー操作によってExcelで作成される列の名前とデータ型を変更できます。 この例では、’order_date’列のデータ型をVarCharからDateTimeに変更します。 他のものは、ウィザードで設定されたデフォルトのままにしておきます。 「次へ」をクリックします。 ウィザードの次の画面では、ソースがsalesというSQLテーブルであり、宛先がExcelブックの”sales”というシートになることが要約されています。 必要に応じてシートの名前を変更できます。
完了したら、”Ok”をクリックしてダイアログを閉じ、”次へ”をクリックします。
指定したマッピングのいずれかがエクスポートプロセスで成功しない可能性がある場合、SQL Serverのインポートとエクスポートウィザードには、データ型マッピ このページでは、指定したマッピングを処理するためにウィザードが実行する必要がある変換が強調表示されます。 また、変換中にエラーが発生した場合、ウィザードが何をするかも示します。 エラーを無視するか、エクスポートが失敗する可能性があります。 この例では、いくつかの列にフラグが設定されています:nvarchar(max)からExcelに相当する長いテキストへの変換、および’order_date’列のVarCharからDateTimeへの変換がある列。 デフォルトの設定では、エラーが発生した場合にウィザードが失敗するため、そのオプションはそのままにします。
注:このSQLインポートおよびエクスポートウィザードでは、内部でSSISが使用されます。 これが、将来の使用のために保存するオプションが与えられている理由です。「次へ」をクリックします。 ウィザードでは、コピーをすぐに実行する既定のオプションに加えて、ウィザードの構成をSSISパッケージとして保存できるようになりました。
デフォルトのオプションにチェックを入れたままにしてから、”次へ”ボタンをクリックします。
ウィザードに、構成した手順の概要が表示されます。
“完了”をクリックすると、実行の結果である最終画面がウィザードに表示されます。 私たちの場合、実行は成功し、5484のレコードがExcelブックの「クエリ」シートにコピーされたことがわかります。
指定したファイルを開き、”sales”シートをチェックすることで、データがSQL ServerからExcelにエクスポートされたことを確認できます。
データがExcelにあるので、いくつかの視覚化や集計、または実行したい他の処理を作成できます。 たとえば、ピボットグラフを作成して、地域ごとのアイテムごとの合計を表示できます。
メソッド(2): Excelでのネイティブ機能を使用したエクスポート
方法自体はほとんど同じですが、Microsoftは他のソースからExcelにデータを取得する方法について、最後の数回のリ 主な変更点は、Excel2016のネイティブコンポーネントとしてPower Queryデータインポートウィザードとツールが追加されたことです。 これらはPowerクエリエディターからアクセスされますが、Excelリボンには表示されませんが、ExcelリボンのデータタブでGet&Transform Data groupとブランド化されています。
以下に説明する手順は、Excel2016以降で有効です。
SQL ServerからExcelへのエクスポートを開始するには、データをクリックしてください>データベースからデータを取得>SQL Serverデータベースから>。
次に、接続するデータベースサーバーを入力し、必要に応じてデータベースを指定するように求められます。 データベースを指定しない場合は、次の画面で使用可能なデータベースから選択できます。
“Ok”をクリックします。 その後、認証の詳細を入力するように求められます。 デフォルトはWindowsなので、先に進んで”接続”をクリックすることができます。
次の画面では、指定したデータベースサーバー上のデータベースとテーブルをナビゲートできます。 「Demo」データベースをクリックして展開し、「sales」テーブルをクリックします。 選択したテーブルのデータが右側のウィンドウに表示されます。 「ロード」ボタンをクリックして、データをすぐにExcelに取り込むことができます。 あるいは、「データの変換」をクリックして、データの変換を実行することもできます(データ型の変更、データのクリーンアップ、計算の実行など)。 この例では、そのままデータをロードするだけなので、先に進んで「ロード」をクリックします。
これで、SQL Serverのテーブルからデータがエクスポートされ、Excelの新しいシートに読み込まれます。
SQL ServerからExcelへの完全なテーブルの単純なエクスポートを実行するために必要なのはそれだけです。 ここで説明した簡単な手順とは別に、Power Queryデータインポートウィザードとツールは、外部ソースからのデータを”整形”する方法を提供します。 たとえば、列を削除したり、データ型を変更したり、特定のニーズに合わせてテーブルをマージしたりできます。
メソッド(3): SQL Spread Add-In for Excelを使用したエクスポート
SQL Spread Add-In For Excelがまだインストールされていない場合は、ここからコピーをダウンロードできます。
SQL Spreadがインストールされると、新しいリボンタブとして追加されていることがわかります。
右側のSQLスプレッドデザイナーパネルで、編集ボタンをクリックしてSQL Server接続ダイアログを開きます。
SQL Server名フィールドにSQL Serverの名前を入力します。 また、認証方法を選択する必要があります: Windows-ログイン(Windows認証)またはSQL Server認証(SQL Serverで設定された名前とパスワードを使用)。 Windows認証は、2つのオプションの中でより安全です。
OKをクリックします。 SQLスプレッドはデータベースへの接続を試みます。 接続が成功すると、データベースがSQL Spread Designerパネルに表示されます。
デモデータベースを展開し、salesテーブルを選択できるようになりました。
テーブルをクリックすると、データはすぐにSQL Serverからエクスポートされ、Excelの”sales”というシートにコピーされます。
それだ! 数回クリックするだけで、SQL ServerからExcelにデータをエクスポートできました。
SQLスプレッドデザイナーには、さらにいくつかのオプションがあります。 例えば、私達はできます:
- SQL Serverからエクスポートされたデータをフィルタリング
- 特定の列を表示するかどうか、および/または読み取り専用に設定
- 列のidの代わりにテキストを表示するためにルックアップ値を使用する
- データの並べ替え
- Excelで更新を行い、SQL Serverに変更を保存する
今後のブログ記事では、これらのオプションのいくつかを見ていきます。
概要
SQL ServerからExcelにデータをエクスポートできることは、ほとんどの企業で共通の要件です。 私たちは、この日々のタスクを実行するための三つの方法を見てきました。 最初は、SQL Serverのネイティブ機能であるSQL Serverのインポートとエクスポートウィザードを使用します。 第二の方法は、Excelのネイティブの’Get&Transform’ツールを使用します。 第三は、Excel用SQLスプレッドアドインを使用しています。
では、どの方法を使用する必要がありますか?
通常はデータベースを操作し、SSMSが第二の故郷である場合は、SQL Serverのインポートとエクスポートウィザードが最適なオプションであると感じるでしょう。 Excelユーザーの場合は、Excel自体から作業してSQL Serverからデータをエクスポートするのが理にかなっています。 私たちが見てきた2つのExcelオプションはどちらも堅牢で使いやすいですが、SQLスプレッドには、ユーザーがExcelで直接データを更新してからSQL Serverにデータを保 これは両方の世界のベストを好むそれらの組織のための巨大な利点である:sql Serverと関連付けられる力およびデータ完全性のExcelの使い易さそして親し
それはExcelにSQL Serverからデータをエクスポートすることがいかに迅速かつ簡単に確認するためにSQLスプレッドを試してみてください。
Andy McDonald
Andyは、Sql Server、Excel、Power Query、Power BIなどのツールを使用したデータ分析とプレゼンテーションで、エンジニアリング、財務、IT部門で20年以上働いてきました。
は、ExcelとSQL ServerについてのSQLスプレッドと、それらの2つを結びつける方法を書いています。