« STEP / MEGガーデニングリフォームそしてCCNA トップページ Ciscoのルーター・・・»

2008年07月05日

PHPでExcel出力、PHPExcel

PHPExcelビジネスでの使用は切っても切り離せない表計算ソフト。そのデファクトスタンダードとなっているExcel。Excelをデータベース代わりに使っている人も。
クライアントPC側で色々と設定や手順が必要ですが、サーバ上データベースのデータをただ取り出すだけであればODBCを利用すれば実現できるということもあり、Excelへのデータ出力にはあまり関心がありませんでした。
今回はデータをただ取り出すのではなく、データベース上にあるデータをPHPで処理、さらに罫線や書式が設定されたExcelのシート自体を作成し出力してしまおうというもの。PHPExcelでこれらが実現出来るということで早速実験。(ちなみにJava系のJSPであればjakarta POI等で同じことが実現可能だそう。Windows環境下でPHPを動かす場合にはPHPExcelをつかわずCOMを利用して実現する方法もあるようです。)
今の所PHPExcelの最新バージョンは6月23日公開の1.6.2でOffice Open XMLであるExcel 2007形式のxlsxの出力にも対応。
ただし、早速注意点あり。Excel2007のxlsx形式で出力する為にはZIP関数が利用できる環境が必要なようで、Linux環境下でPHPをyumコマンドでインストールしたのでは--enable-zipオプションが有効になっておらずうまく動作しない。xlsxファイル自体がzip圧縮されたファイルだからなのでしょう。
xlsxを出力するのであればPHPのコンパイル時に./configureで--enable-zipオプションつきでインストールする必要があるよう。もちろんExcel5(Excel97~Excel2003)形式のxlsファイルを扱うのであれば不要ですけど。
後マニュアル、日本語に訳されたものはみつからず、英語ですがまあ、それほど分量のあるマニュアルではないので読むのにはそれほど苦労はしませんが。
又、PHPExcelにはPDFに変換し自動出力させる機能もあるのですが、現バージョンではセルのマージ部分の印刷がうまくできないようです。
掲載画像はExcel5形式で出力したものをOpenOfficeのcalcで表示した画面。もちろんExcelの関数も埋め込みできます。さて、自宅でもOffice 2007を導入すべきかどうか・・・

投稿者: へにょにょ 日時: 23:08

トラックバック

このエントリーのトラックバックURL:
http://www.kenzai-info.com/cgi/mt/mt-tb.cgi/365

この一覧は、次のエントリーを参照しています: PHPでExcel出力、PHPExcel:

» PHPでExcelファイルを作る! from kattsuk2 BLOG
PHPを使ってExcelのファイルを作成する場合にPHPExcelを使うと簡単に... [詳しくはこちら]

» PHPExcelの注意点 from Jemのセキュリティ追っかけ日記+α
PHPExcelのHTML出力について [詳しくはこちら]

コメントに対して返信する暇がないのでコメントは受け付けていません。Twitter等でどうぞ。