[MySQL] ExcelからデータベースにODBCで接続する方法

MySQLのデータベースに、ExcelからODBCで接続する方法を紹介します。

シートに取得したデータは、ブックを開くたび最新の状態にすることも、スナップショットとして保存しておくこともできます。また通常通り、ピボットテーブルやグラフでの利用も可能です。

取得するデータは、Accessに良く似たツール「Microsoft Query」でデザインします。
クエリーのデザインが可能で、その結果をExcelのシート上に出力できます。

EIICHI

この記事では、課題管理ツール「Redmine」のデータベースを使用して説明しています。

目次

使用するODBCコネクターについて

この記事では、MySQLのネイティブなODBCドライバーを使用しました。ただ最近のバージョンは、相性の問題からか、AccessやExcelからは上手く機能しないケースが見受けれます。
インストールする場合は、次の記事を参考にしてください。

現時点では、互換モードになりますがMariaDBのODBCコネクターがお勧めです。
ランタイム環境が不要な上、MySQLのODBCコネクターとの併存も可能です。
インストール方法については、次の記事を参考にしてください。

Microsoft Queryの起動

Excelを起動して、リボンの「データ」を表示します。
「その他のデータソース」から「Microsoft Query」を選択します。

データソースの作成

Microsoft Queryが起動します。
「クエリウィザードを使ってクエリを作成/編集する」をオフにしておきます。
「新規データソース」を選択して「OK」をクリックします。

新規データソース名を入力します。
ドライバーには「MySQL ODBC」を選択して「接続」をクリックします。

MySQL Connector/ODBCが起動します。
サーバー名とアカウント情報を入力して「Test」をクリックします。

Bitnami Redmine Stackをインストールした場合のMySQL管理者のID及びそのパスワードについていは、次の記事を参考にしてください。

接続できると、次のようなメッセージが表示されます。
「OK」をクリックして閉じます。

「Database」のプルダウンメニューにデータベースの一覧が表示されます。
接続するデータベースを選択して「Details」をクリックします。

「Metadata」タブを表示します。
「Don’t use INFORMATION_SCHEMA for metadata」にチェックを入れて「OK」をクリックします。

3.の「接続」をクリックします。
もう一度ODBCの画面が表示されるので「OK」をクリックします。

接続できると、4.にテーブルの一覧が表示されるので、取得するテーブルを選択します。
パスワードなど保存して大丈夫な場合は「~保存する」にチェックを入れて「OK」をクリックします。

警告が表示されるので、大丈夫な場合は「はい」をクリックします。

データソースの選択

作成したばかりのデータソースが表示されています。
選択して「OK」をクリックします。

クエリの作成

Accessの簡易版のようなMicorosoft Queryの編集画面が表示されます。
テーブルから抽出したいフィールドをドラッグして、下の枠にドロップします。
*(アスタリスク)をドラッグ&ドロップすると全フィールドを指定できます。

下の枠に、データがプレビュー表示されます。
「作成中のクエリでは、このようなデータになりますよ」ということを示しています。

今回は単純にこのまま抽出しますが、別のテーブルを追加して関連するフィールドからも抽出するような条件も設定できます。

クエリーが完成したら、左から4つ目の「データを返す」をクリックします。

データのインポート

データのインポート方法を選択する画面が表示されます。
今回は、Excelのテーブルとしてインポートします。
内容を確認して「OK」をクリックします。

次のように、テーブルのデータがインポートできました。
Excelのテーブルになっているので、ハッシュ(縞模様で)表示されています。

ブックを開くたび最新データを取得

このブックを開くたびに、最新のデータを取得するように設定してみましょう。
「データ」のリボンから「接続」をクリックします。

接続の一覧が表示されます。
設定を変更する接続を選択して「プロパティ」をクリックします。

接続のプロパティが表示されます。
「ファイルを開くときに~」にチェック入れて「OK」をクリックします。

ODBCが起動するので、パスワードを入力して「OK」をクリックします。

再度、データのインポート(更新)が実行されます。
終了したら、ブックの接続の「閉じる」をクリックして、ダイアログを閉じます。

自動更新の確認

ブックを開くと自動更新されるか、実際に確認してみます。

名前をつけて保存したら、ブックを一度閉じます。
保存したブックをダブルクリックで開いてみます。
警告が表示された場合は「コンテンツの有効化」をクリックします。

ODBCが起動するので、パスワードを入力して「OK」をクリックします。

自動更新が始まり、ステータスバーに状況が表示されます。
無事更新が終わると、通常の状態に戻ります。

最後までご覧いただきありがとうございます。
では、また。

コメント

コメントする

目次