【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 2012】バッチ(コマンドプロンプト)でバックアップ
バッチ(コマンドプロンプト)を使って、SQL Server 2012のバックアップを取得します。
-
-
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新
前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S
-
-
【Management Studio】データベースの定義を取得する方法
あくまでデータベース定義の取得です。 ※データベースのデータを取得する方法ではありません。
-
-
【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定
ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv
-
-
【レプリケーション】SQL Server 2012 Expressでレプリケーション
Windows Server 2012のSQL Server 2012 Expressを二台用意して
-
-
【SQL Server】バックアップ取得日を確認する方法
前回の記事で、SQL Serverのデータベースのリストアした日付を確認するSQLを作りましたが、今
-
-
【SQL Server 2012】Management Studioで誰がデータベースに接続しているか調べる。
SQL Server 2012でリアルタイムで接続しているユーザーを確認するには Manageme
-
-
【Management Studio】Microsoft SQL Server 2012 ExpressにManagement Studio のインストール方法。
前回、Windows Server 2012にSQL Server 2012 Expressをインス
-
-
【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する
varchar型の文字数、バイト(byte)数を取得する方法 SELECT LEN(【文字
-
-
【ODBC】Windows7でAccess2007とSQL Serverを接続する為のODBCの作成
前回、ODBC接続の為のサーバー側の設定を行いましたので、 今回はAccess2007側のWind

