Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

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 データにアクセスすることができます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away