pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

PHP:特定セルの情報を読み出す

PHPExcelを使って、指定したURLのサイト更新状況をチェックしようと夢見ています(≒妄想)。

最初、PHPMySQLを使ってなどと思っていたのですが、視認性、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列の値を順々に読み出し、というようなことでしょうか…先は長いな~。