LoginSignup
2

More than 5 years have passed since last update.

PHP で Excel データにアクセスする

Posted at

PHP で Excel のデータを読み書きするのは一筋縄ではいきません。サードパーティーのライブラリを利用するのが一般的ですが、ここでは CData ODBC Driver for Excel を利用して、ODBC 経由で Excel データにアクセスする方法を簡単に紹介します。

DNSを構成

ODBCのデータソースを追加します。
CData ODBC Driver for Excel- DNS構成 を起動して、アクセスするExcelファイルのパスを設定します。

fig5_01.png

読み込む Excel の内容は、以下のような表です。

fig5_02.png

接続を確立

odbc_connect または odbc_pconnect 関数を使用して、Excelへの接続を確立します。確立した接続を閉じるには、odbc_close または odbc_close_all 関数を使用します。

$conn = odbc_connect('CData Excel Source', '', '');
// ...何かの処理...
odbc_close($conn);

プリペアドステートメントを作成

odbc_prepare 関数を使用して、プリコンパイル済みのSQL文オブジェクトを生成します。

$pstmt = odbc_prepare($conn, 'SELECT * FROM Temp');

クエリを実行

odbc_execute 関数を使用して、SQL文を実行します。

$success = odbc_execute($pstmt);

結果セットを取得

odbc_fetch_array 関数を使用して、SQL文の結果セットを取得します。

while ($row = odbc_fetch_array($pstmt)) {
    print_r($row). "\n";
}

fig5_03.png
fig5_04.png

結果は上図のようになります。
これはごくごく簡単な例ですが、このように、ODBC 経由で簡単に PHP から Excel データにアクセスすることができます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2