【SQL Server 2012】SQLでエクセルをテーブルとして表示させる方法
公開日:
:
最終更新日:2015/01/12
データベース Management Studio, SQL, エクセル, 表示
SQL Management Studioを使用してインポート等は使用せずにSQLのみでテーブルを表示する手順をご紹介。
(1)表示したいエクセルファイルを2003形式で保存
表示させたいエクセルファイルを開き/Excel97-2003ブックで保存しなおします。
(2)SQL Server 2012がインストールされているサーバーのローカルへ保存したエクセルファイルを配置。
(3)Management Studioを起動し、以下のクエリを実行。
| select * from OPENROWSET(‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 8.0;DATABASE=【表示したいエクセルのフルパス】;IMEX=1;HDR=YES;’, ‘SELECT * from [【シート名】$]’) as Excelテーブル; |
赤字の部分は環境に合わせて変更します。 たとえば、SQL Server上の「C:\temp\顧客.xls」にエクセルファイルを配置し 表示したいシート名が「Sheet1」の場合
| select * from OPENROWSET(‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 8.0;DATABASE=C:\temp\顧客.xls;IMEX=1;HDR=YES;’, ‘SELECT * from [Sheet1$]’) as Excelテーブル; |
上記のようになります。
後は、SQLを実行すれば

※画像の個人情報は架空のデータです。実際には存在しません。
こんな感じに取り込む(表示)することができます。
ちなみに、SQLコマンドの「IMEX=1」「HDR=YES」ですが、
IMEX=1 ですべての行を文字列として扱い HDRP=YES で1行目をヘッダーとして扱っています。
このSQLコマンドは、値が異なるデータの一括修正時などにすごい便利ですヽ(・∀・ )ノ
Adsense
関連記事
-
-
【SQL Server】データベース作成日時(リストアした日付)を確認する方法
トラブルの調査をするとき、開発用の環境を作成して、調査するのですが… この環境っていつ作成した
-
-
【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する
varchar型の文字数、バイト(byte)数を取得する方法 SELECT LEN(【文字
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でリストア
バッチ(コマンドプロンプト)を使って、SQL Server 2012のリストアしてみたいと思います。
-
-
【コマンドプロンプト】完成版!cmdでSQLの結果を変数に取得
以前、 【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法 を書きましたが、
-
-
【SQL Server 2012】SQLでエクセル表示の実行エラーの対処法
SQLでエクセル表示を実行した時にエラーとなった場合の対処法。 実はSQLでエクセルファイルを表示
-
-
【Management Studio】Microsoft SQL Server 2012 ExpressにManagement Studio のインストール方法。
前回、Windows Server 2012にSQL Server 2012 Expressをインス
-
-
【SQLServer2012】バックアップ/リストア方法 リストア編
SQL Server 2012のデータベースをManagement Studioを使用して、リストア
-
-
【SQL Server 2012】バックアップ/リストア方法 バックアップ編
Management StudioでSQL Server 2012のデータベースバックアップファイル
-
-
【ODBC】Windows7でAccess2007とSQL Serverを接続する為のODBCの作成
前回、ODBC接続の為のサーバー側の設定を行いましたので、 今回はAccess2007側のWind
-
-
【SQL Server 2012】バッチ(コマンドプロンプト)でバックアップ
バッチ(コマンドプロンプト)を使って、SQL Server 2012のバックアップを取得します。

