PHPでExcelファイル操作のまとめ(途中)

 詳細書くのは問題あるので趣味部分のみ。

PHPExcel

  1. 2007形式に対応している
  2. 読み込みはExcel2007(.xlsx)形式のみ(っぽい)
  3. 書き出しはExcel5(.xls), Excel2007両方出来る

Spreadsheet_Excel_Reader

  1. Excel5形式からデータを読み込める。2007形式は調べていないので不明。

導入に当たって

Warning: require_once(Spreadsheet/Excel/Reader/OLERead.php)

 Google先生で散々引いたけど良く解らない。というか、スペイン語のサイトしか出てこない。読めるかー!*1PEARのSpreadsheet/Excel/Readerの位置なんだけど、そもそもそんなパッケージは無いぞ。同梱のoleread.incをSpreadsheet/Excel/Reader/OLERead.phpとして置いてやれば動くけれども。

 配布しているサイトにも

Starting before version 2i, the oleread.inc file is included with the PHP ExcelReader distribution, so it is no longer necessary to have the OLE package available.

http://sourceforge.net/docman/display_doc.php?docid=22092&group_id=99160

と書いてあるから、動くこと自体は不思議じゃないが、こんな胡散臭い方法が正しいとは思えない。。。Webでうろうろしていても、簡単だった!、このサイト*2の通りでできた!、とはあるけど、エラーが出たとは書いてない。なぜだろう。英語の解釈がどこかで間違ってるのだろう、そうだろう。・・・

 使い方自体は簡単で、

");
$xls = new Spreadsheet_Excel_Reader();
$xls->>setUTFEncoder('mb');
$xls->setOutputEncoding('SJIS');
$xls->read("test.xls");
$sheet = 0; //シートの1枚目は0から。
$cols = 1; //セルの1つ目は1から。
$rows = 1;
print($xls->sheets[$sheet]["cells"][$cols][$rows]);
print("");
?>

こうしてやれば、Excelの1番目のシートの、一番左上のセルの内容が読み出せる。

*1:ヒントは無いかと目だけは通したけど撃沈。

*2:閉鎖っぽい。が、一応内容は見た。


Comments (1)

ぐら3月 27th, 2008 at 19:43:16

参考になりました。

Leave a comment

Your comment

*