ExcelとMySQLを接続する方法|ODBCドライバとDSN設定の手順を解説
Excelは表計算ソフトとして広く使われていますが、外部のデータソースに接続できることをご存じでしょうか。この記事では、ExcelスプレッドシートをMySQLデータベースのテーブルに接続し、データベース内のデータを使ってシートを埋める方法を詳しく解説します。接続を行う前に、いくつか準備しておくべきことがあります。
事前準備
まず、MySQL用の最新版ODBC(Open Database Connectivity)ドライバをダウンロードする必要があります。最新のMySQL ODBCドライバは以下の公式ページから入手できます。
https://dev.mysql.com/downloads/connector/odbc/
ファイルをダウンロードしたら、必ずダウンロードページに記載されているMD5ハッシュ値と照合し、ファイルが改ざんされていないことを確認しましょう。
次に、ダウンロードしたドライバをインストールします。ファイルをダブルクリックするとインストールが開始されます。インストールが完了したら、Excelで使用するためのDSN(Data Source Name:データソース名)を作成します。
DSNの作成
DSNには、MySQLデータベーステーブルを使用するために必要な接続情報がすべて含まれます。Windowsシステムでは、スタートメニューからコントロールパネル→管理ツール→データソース(ODBC)の順にクリックします。以下のような画面が表示されるはずです。

上の画像にあるタブに注目してください。ユーザーDSNは作成したユーザーのみが利用できます。システムDSNはそのマシンにログオンできる全ユーザーが利用可能です。ファイルDSNは.DSN形式のファイルで、同じOSとドライバがインストールされている他のシステムに持ち運んで使用することができます。
DSNの作成を続けるには、ウィンドウ右上付近にある追加ボタンをクリックします。

下にスクロールすると「MySQL ODBC 5.x Driver」が見つかるはずです。もし表示されていない場合は、事前準備の段階でのドライバインストールに問題があった可能性があります。「MySQL ODBC 5.x Driver」を選択して完了ボタンをクリックすると、次のような設定画面が表示されます。

続いて、上記フォームに必要な情報を入力します。この記事で使用しているMySQLデータベースとテーブルは開発マシン上のもので、一人しか利用しない前提です。本番環境では、新規ユーザーを作成し、SELECT権限のみを付与することをおすすめします。必要に応じて、後から追加の権限を付与することも可能です。
データソースの設定内容を入力し終えたら、Testボタンをクリックして接続が正常に機能するか確認しましょう。その後、OKボタンをクリックします。ODBCデータソースアドミニストレーターの画面に、先ほど入力したデータソース名が表示されているはずです。

スプレッドシートへの接続を作成する
新しいDSNの作成に成功したら、ODBCデータソースアドミニストレーターの画面を閉じて、Excelを起動します。Excelを開いたら、データリボンをクリックします。新しいバージョンのExcelでは、データの取得→その他のデータソースから→ODBCからの順に選択します。

旧バージョンのExcelでは、やや手順が多くなります。まず、以下のような画面が表示されます。

次に、「データ」タブの直下にある接続リンクをクリックします。上の画像で赤丸で囲んだ場所です。すると、「ブックの接続」ウィンドウが表示されます。

次に追加ボタンをクリックすると、「既存の接続」ウィンドウが表示されます。

表示されている接続は使用しないので、参照...ボタンをクリックします。「データソースの選択」ウィンドウが開きます。

先ほどの「既存の接続」ウィンドウと同様に、ここで表示されている接続も使用しません。+Connect to New Data Source.odcフォルダをダブルクリックすると、「データ接続ウィザード」が起動します。

表示されたデータソースの選択肢の中からODBC DSNを選択して次へをクリックします。ウィザードの次のステップでは、使用中のシステムで利用可能なすべてのODBCデータソースが一覧表示されます。
手順どおりに進んでいれば、先ほど作成したDSNがリストの中に表示されているはずです。それを選択して次へをクリックします。

データ接続ウィザードの最後のステップは保存と完了です。ファイル名フィールドは自動的に入力されます。説明欄には、後から利用する人が分かりやすい内容を記入しておきましょう。最後に、ウィンドウ右下の完了ボタンをクリックします。

これで「ブックの接続」ウィンドウに戻ります。作成したばかりのデータ接続が一覧に表示されているはずです。

テーブルデータの取り込み
「ブックの接続」ウィンドウは閉じて構いません。次に、Excelのデータリボンにある既存の接続ボタンをクリックします。このボタンはデータリボンの左側にあります。

既存の接続ボタンをクリックすると、以前にも見た「既存の接続」ウィンドウが表示されます。今回は、作成したデータ接続が上部近くに表示されている点が異なります。

前のステップで作成したデータ接続を選択し、開くボタンをクリックします。「データのインポート」ウィンドウが表示されます。

この記事では、デフォルト設定のまま使用します。OKボタンをクリックすると、すべてが正常に動作していれば、ワークシートにMySQLデータベーステーブルのデータが表示されます。
今回使用したテーブルには2つのフィールドがありました。1つ目は自動採番のINT型フィールドで「ID」という名前です。2つ目はVARCHAR(50)型で「fname」という名前です。完成したスプレッドシートは以下のようになります。

お気づきかもしれませんが、最初の行にはテーブルのカラム名が表示されています。また、カラム名の横にあるドロップダウン矢印を使えば、列を並べ替えることもできます。
まとめ
この記事では、MySQL用の最新ODBCドライバの入手方法、DSNの作成方法、そのDSNを使ったスプレッドシートのデータ接続の作成方法、そしてデータ接続を利用してExcelスプレッドシートへデータを取り込む方法までを解説しました。ぜひ実際に試してみてください。
-
Excelにデータ分析(Analysis ToolPak)をインストールする方法|Windows・Mac対応
Microsoft Excelは、さまざまな種類のデータ分析に幅広く活用されています。複雑な統計解析やエンジニアリング分析を自力で行うには、多くの時間と手間がかかります。しかし、Excelの「データ分析」機能を活用すれば、こうした負担を大幅に軽減できます。ただし、この機能は初期状態では有効になっていないため、事前にインストール(有効化)が必要です。本記事では、Excelにデータ分析ツールを導入する手順を詳しく解説します。 データ分析ツール(Analysis ToolPak)とは? 「データ分析」ツール(Analysis ToolPak)は、Excelに標準搭載されているアドインの一つです。こ
-
【修正版】Excelの「区切り位置」機能でデータが消える原因と解決策
区切り位置(Text to Columns)は、Excelの非常に便利な機能の一つです。通常、1つのセルにまとめて入力されたデータを複数の列に分割する際に使用されます。しかし、この機能を使っていると、データが消えてしまうというトラブルに遭遇することがあります。本記事では、この問題が発生する主な原因と、それぞれの具体的な解決策を詳しく解説します。 練習用ワークブックはこちらからダウンロードできます。 Excelの区切り位置でデータが消える2つの原因と解決策 この記事では、次のようなデータセットを例に説明します。5名の生徒に関する連番と個人情報が含まれており、名前(姓・名)、学籍番号、生年