Pocket

PHPExcel を使って、PHPからExcelファイルを作成する方法

  • add this entry to hatena bookmark

PHPからExcelファイルを作成できる PHPExcel を使ってみました。

今回のやりたい事は、AWS EC2 のパラメータ内容をExcelファイル(2007形式)に落とし込む、(とりあえずは)コマンドラインで実行するPHPスクリプトを作る事です。

その為、PHPからExcelファイルを作成できるライブラリを探して、PHPExcel を使ってみる事にしました。

簡単ではありますが、セットアップからExcelファイルを作成するところまでの手順を記載しておきます。

セットアップ

PHPExcel をセットアップする方法は簡単です。

今回の利用環境は、CentOS、PHP 5.4.17 の環境となります。

PHPExcel から現在の最新バージョンである、PHPExcel 1.7.9 (zipファイル)をダウンロードして、テキトウな場所に解凍します。

# unzip PHPExcel_1.7.9_doc.zip

解凍すると、Classes、Documentation、Examples ディレクトリと、changelog.txt、install.txt、license.txt が展開されます。

早速使ってみる

では、早速、PHPスクリプトからExcelファイルを作成してみます。

今回は、Examples ディレクトリの中にあるサンプルプログラム「01simple.php」を少し改変して使ってみたいと思います。私は、別のディレクトリにコピーして「sample.php」として改変をくわえてみました。

まず、37行目の、PHPExcel.php を include する箇所を、必要であれば実行環境のパスに合わせます。

require_once '../Classes/PHPExcel.php';

次に、88行目の、Excel 2007形式のxlsxファイルに保存する箇所を以下のように変更しました。(ファイル名はテキトウな名称にしてください。)

$objWriter->save("sample.xlsx");

あとは、今回は不要である、Excel 95 形式で保存する箇所のコードをカットしました(98行目~110行目)。
以上で、サンプルのPHPスクリプトファイルが完成です。

早速実行してみます。

# php -l sample.php
No syntax errors detected in sample.php
# php sample.php
05:57:37 Create new PHPExcel object
05:57:37 Set document properties
05:57:37 Add some data
05:57:37 Rename worksheet
05:57:37 Write to Excel2007 format
05:57:37 File written to sample.xlsx
Call time to write Workbook was 0.0980 seconds
05:57:37 Current memory usage: 5.75 MB
05:57:37 Peak memory usage: 5.75 MB
05:57:37 Done writing files
Files have been created in (sample.xlsx)
#

無事実行できました。Excelファイル(拡張子 xlsx)も無事作成されており、Excelで開く事が出来ました。
PHPExcel を使うと、簡単にPHPからExcelファイルが作成できる事が確認できました。今回はここまでとなりますが、今後、色々な用途に使えそうです。

補足

PHPExcel を使う場合、phpをソースからインストールしている場合は、configure オプションで、「–enable-zip」が必要になります。-

-enable-zip の指定がないphp実行環境では、PHPExcelを使ったPHPスクリプトを実行時に、以下のエラーが発生します。

PHP Fatal error:  Class 'ZipArchive' not found in /(中略)/Classes/PHPExcel/Writer/Excel2007.php on line 205

Fatal error: Class 'ZipArchive' not found in /(中略)/Classes/PHPExcel/Writer/Excel2007.php on line 205

私は、–enable-zip を指定していなかったので、configure からphpインストールをやり直して、無事にPHPExcelを使ったPHPスクリプトが実行できるようになりました。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。