2612月
PHPでExcelファイル操作のまとめ(途中)
詳細書くのは問題あるので趣味部分のみ。
PHPExcel
- 2007形式に対応している
- 読み込みはExcel2007(.xlsx)形式のみ(っぽい)
- 書き出しはExcel5(.xls), Excel2007両方出来る
Spreadsheet_Excel_Reader
- 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の通りでできた!、とはあるけど、エラーが出たとは書いてない。なぜだろう。英語の解釈がどこかで間違ってるのだろう、そうだろう。・・・
使い方自体は簡単で、
PHP:
-
<?php
-
require_once ‘Spreadsheet/Excel/reader.php‘;
-
-
$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;
-
?>
こうしてやれば、Excelの1番目のシートの、一番左上のセルの内容が読み出せる。
参考になりました。