PHP で Excel のデータを読み書きするのは一筋縄ではいきません。サードパーティーのライブラリを利用するのが一般的ですが、ここでは CData ODBC Driver for Excel を利用して、ODBC 経由で Excel データにアクセスする方法を簡単に紹介します。
#DNSを構成
ODBCのデータソースを追加します。
CData ODBC Driver for Excel- DNS構成 を起動して、アクセスするExcelファイルのパスを設定します。
読み込む Excel の内容は、以下のような表です。
#接続を確立
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";
}
結果は上図のようになります。
これはごくごく簡単な例ですが、このように、ODBC 経由で簡単に PHP から Excel データにアクセスすることができます。