*

【SQL Server 2012】SQLでエクセルをテーブルとして表示させる方法

公開日: : 最終更新日:2015/01/12 データベース , , ,

SQL Management Studioを使用してインポート等は使用せずにSQLのみでテーブルを表示する手順をご紹介。

(1)表示したいエクセルファイルを2003形式で保存

表示させたいエクセルファイルを開き/Excel97-2003ブックで保存しなおします。

エクセルファイルを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でエクセルを表示
※画像の個人情報は架空のデータです。実際には存在しません。

こんな感じに取り込む(表示)することができます。

ちなみに、SQLコマンドの「IMEX=1」「HDR=YES」ですが、

IMEX=1 ですべての行を文字列として扱い
HDRP=YES で1行目をヘッダーとして扱っています。

このSQLコマンドは、値が異なるデータの一括修正時などにすごい便利ですヽ(・∀・ )ノ

Adsense

関連記事

データベース

【コマンドプロンプト】cmdでSQLの結果を変数に取得する方法

力技の取得方法をご紹介。というかメモ。 題名には偉そうに書きましたが…なかなか良い方法が見つか

記事を読む

データベース

【レプリケーション】SQL Server 2012 Expressでレプリケーション

Windows Server 2012のSQL Server 2012 Expressを二台用意して

記事を読む

データベース

【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し 前回はVBAから更新S

記事を読む

データベース

【SQL Server】varchar型、nvarchar型の文字数とバイト(byte)数を取得する

varchar型の文字数、バイト(byte)数を取得する方法 SELECT LEN(【文字

記事を読む

データベース

【SQL Server】Management Studioでテーブルをデザインから変更するとエラーになる

変更の保存が許可されていません。行った変更には、次のテーブルを削除して再作成することが必要に

記事を読む

データベース

【SQL Server】データベース作成日時(リストアした日付)を確認する方法

トラブルの調査をするとき、開発用の環境を作成して、調査するのですが… この環境っていつ作成した

記事を読む

データベース

【SQL Server】エクセルをテーブルに取り込む方法

以前にManagement Studioを使ってSQLでエクセルを直接取り込む方法を書きましたが、今

記事を読む

データベース

【SQL Server】Excel VBAでSQLを実行し、レコードを更新(追加、更新、削除)する

VBAでSQL Serverのテーブルに SQL(Insert、Update、Delete)を発行

記事を読む

データベース

【SQL Server 2012】バックアップ/リストア方法 バックアップ編

Management StudioでSQL Server 2012のデータベースバックアップファイル

記事を読む

データベース

【ODBC】Access2007でSQL Server 2012に接続する為のサーバー側の設定

ODBCでAccess2007からSQL Server 2012へ接続する為には SQL Serv

記事を読む

Adsense

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑