hack のためのネタ帳, etc,,,

PHP 用の Excel ファイル読み書きライブラリ
2007 対応

ライセンス

公式ページ

install/uninstall (2011-02-04)

PEAR で 1.7.5 を入れる場合、事前に以下の操作が必要な模様。
./pear.bat channel-discover pear.pearplex.net

インストールは
./pear.bat install pearplex/PHPExcel
で OK
PEAR 用の tgz 拾って来てるなら
./pear.bat install PHPExcel-1.7.5.tgz
でも良い。

アンインストールは
./pear.bat uninstall pearplex/PHPExcel
または
./pear.bat uninstall channel://pear.pearplex.net/PHPExcel-1.7.5

uninstall がやりにくいので channel ころころ変えないで欲しいなぁと。

install/uninstall (2010-06-04)

PEAR のパッケージ版の install の場合
tgz 拾ってきて pear install すれば良い。
1.7.2 だと
$ ./pear.bat install PHPExcel-1.7.2.tgz
install ok: channel://__uri/PHPExcel-1.7.2
1.7.3c だと
$ ./pear.bat install PHPExcel-1.7.3.tgz
install ok: channel://pear.php.net/PHPExcel-1.7.3
となった。

uninstall はちょっと分かりにくくて
1.7.2 だと
$ ./pear.bat uninstall channel://__uri/PHPExcel-1.7.2
のように、install 時に表示された channel で指名しないと上手く行かなかった。
1.7.3c だと
$ ./pear.bat uninstall channel://pear.php.net/PHPExcel-1.7.3
または
$ ./pear.bat uninstall PHPExcel-1.7.3
でも uninstall できた

PEAR 版の場合、バージョンによってなぜか install される場所が違う。
1.7.2 は PEAR/ 以下
1.7.3c は PEAR/PHPExcel/ 以下
1.7.3c は require するとき頭に余分に PHPExcel/ 付ける必要がある。
1.7.5 も PEAR/PHPExcel/ 以下だったので、今後は変わらんのだろうけど。

通常版は適当に展開してパス通せば OK

バグ? (2010-06-04)

手持ちの .xlsx ファイルのある特定のファイルを load させた場合
1.7.2 だと apache が落ちる不具合があったが 1.7.3c だと改善していた。

sample

Hello World

<?php
require 'PHPExcel/PHPExcel.php';

$filename = "PHPExcelHelloWorld.xlsx";

header("Content-Type: application/vnd.openXMLformats-officedocument.spreadsheetml.sheet");
header("Content-Disposition: attachment; filename=$filename");
header("Cache-Control: max-age=0");

$xl = new PHPExcel();
$ws = $xl->getActiveSheet();
$ws->setCellValueByColumnAndRow(0, 1, "hello world");
$writer = PHPExcel_IOFactory::createWriter($xl, 'Excel2007');
$writer->save('php://output');

Tips

縦書きセル

getStyle()->getAlignment->setTextRotation(); で 255 を指定する。

関連

タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます