PHPとExcelを使って、指定したURLのサイト更新状況をチェックしようと夢見ています(≒妄想)。
最初、PHPとMySQLを使ってなどと思っていたのですが、視認性、Excelの方がよいだろうということで、ひとまずこちらでやってみようという…横着であります。
これまで
これまでPHP内に直接URLを書いていたんだけれど、それをExcelファイルを参照先(読み込み)にしようということで、Excelファイルを開く、みたいなところまでだったのを、特定のセルを読みだそうというのが今回です。
IOFactoy.php登場
爺は、PHExcelを実際にPHPファイルを置くフォルダ「p」内に「Classes」フォルダを置いて使っています。これは、他の場所であってもOKなのかと。PEARフォルダ内をすすめる方もいるみたいです。
その「PHPExcel」フォルダ内にExcelファイルとの仲立ちをしてくれる「IOFactoy.php」がありました。
事前に用意するものは、読み出し対象となるエクセルファイルです。爺はそれを「site.xlsx」としたです。下のPHPファイルと同じ場所に、置いときます。セルA2に適当な値を入れといてください。
なお、PHPExcelは「これまで」の項の「PHP:エクセルファイルをPHPで読んだりしてみる - PageTAKA's blog」を参照して、PHPが動くことととあわせPHPExcelも問題ないことを確認しといてください。
下のスクリプトをa2.phpという名前で保存(UTF-8・BOMなし)し、ie上からhttp://127.0.0.1/a2.phpと呼び出します。
注:C:/p/Classes/PHPExcel/IOFactory.phpは自分の環境に合わせてくださいね~。ま、エクセルの名前、置き場所もヨシナニ~。
<html> <body> <?php include_once('C:/p/Classes/PHPExcel/IOFactory.php'); $obj = PHPExcel_IOFactory::load("site.xlsx"); $obj->setActiveSheetIndex(0); $sheet = $obj->getActiveSheet(); $a2 = $sheet->getCell("A2")->getValue(); echo $a2; ?> </body> </html>
この結果、ie画面上に、site.xlsxのA2セル内にある文字(ひょっとして化けてるかもしれませんが)が表示されれば、一応成功、ということかと。
これで、Excelのとあるファイルの特定セルの値を読み出すPHPを作れた、ということになるのかと思います。次は、A列の値を順々に読み出し、というようなことでしょうか…先は長いな~。