次のリンクされたブログ投稿で提供されている手順を使用して動作させました。
http://codebyjoshua.blogspot.com /2012/01/get-data-from-sql-server-stored.html
将来リンクが壊れた場合に備えて、ここにコピーされた手順。
Excel 2007の手順:
-
Excelのリボンの[データ]タブを選択し、[外部データの取得]グループ内で[他のソースから]ドロップダウンを選択します。次に、[Microsoftクエリから]を選択します
-
[データソースの選択]ポップアップボックスで、SQL Serverを選択し、[OK]をクリックします。
-
必要に応じて、[テーブルの追加]ポップアップを閉じます。
-
[SQL]ボタンをクリックするか、[表示]> [SQL]を選択して、SQLポップアップエディタを開きます。
-
次の構文を入力します:{CALL myDatabaseName.dbo.myStoredProc(?、?、?)}
例:{CALL northwind.dbo.spGetMaxCost(?、?、?)}
callステートメントの前後に波状の中括弧を必ず含めてください。各疑問符(?)はパラメーターを示します。ストアドプロシージャが多かれ少なかれパラメータを必要とする場合は、必要に応じて疑問符を追加または削除します。
-
OKボタンを押します。 「SQLクエリをグラフィカルに表現できません。とにかく続行しますか?」という質問ボックスがポップアップ表示されたら、[OK]ボタンを押すだけです。
-
上記で含めた疑問符ごとに、サンプルパラメータの入力を求められます。クエリするデータの有効なパラメータ値を入力してください。
-
最後のパラメータを入力すると、MicrosoftQueryでいくつかの結果が返されます。見栄えが良い場合は、MicrosoftQueryを閉じます。
-
「データのインポート」ポップアップが表示されているはずです。 [プロパティ]ボタンをクリックすると、[接続のプロパティ]ポップアップが表示されます。
-
「定義」タブを選択してから、「パラメーター」ボタンを選択します。これで、「パラメータ」ポップアップが表示され、パラメータを特定のセルに接続できます。
-
[次のセルから値を取得する]を選択し、矢印の付いた小さなボックスをクリックして、パラメータを保持するExcelの適切なセルに接続します。
-
パラメータを含むセルを変更するたびにデータを更新する場合は、[セルの値が変更されたときに自動的に更新する]チェックボックスをオンにします
-
他のパラメータについては、上記のように続けます。終了したら、[OK]をクリックして、[接続のプロパティ]ポップアップに戻ります。 [OK]をクリックして[データのインポート]ポップアップに戻り、もう一度[OK]をクリックします。
-
これで、ストアドプロシージャから直接データが得られるはずです。