TOPページ / 徒然なるままに

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を導入すべきかどうか・・・


Blog

CCNA(Cisco Certified Network Associate)取得を目指している取得した取得後有効期限満了したぎりぎり20代30代突入30代30代後半40代突入管理人のブログです。

Recent Entries

Google Maps API

googlemap.jpg
地図 ブログ

 

Twitter

Category

Monthly Archives