取得したシートの名前→Sheet1
インデックスを指定してワークシートオブジェクトを取得する
スポンサーリンク
PHPExcel でインデックスを指定してワークシートオブジェクトを取得するには getSheet メソッドを使用します。インデックスの先頭は 0 です。このメソッドは指定された名前のワークシートが存在しない場合は PHPExcel_Exception を throw します。
以下のサンプルコードでは、先頭のワークシートを取得しています。ちなみにインデックス 0 のシートは必ず存在します。
php(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | //PHPExcelの読み込み require_once("./Classes/PHPExcel.php"); //既存ファイルの読み込み $obj_reader = PHPExcel_IOFactory::createReader('Excel2007'); $obj_book = $obj_reader->load('test.xlsx'); try{ //インデックスを指定して、先頭のシートオブジェクトを取得します $obj_worksheet = $obj_book->getSheet(0); }catch(PHPExcel_Exception $e){ //指定したインデックスが存在しない場合は例外が発生します print "指定したインデックスのシートは存在しません\n"; } //指定した名前のワークシートが存在しない場合は NULL がセットされます if(!is_null($obj_worksheet)){ print "取得したシートの名前→" . $obj_worksheet->getTitle() . "\n"; } |
test.xlsx に以下のようなシートが存在している場合の実行結果は次の通りです。
getSheetCount メソッドを使用すれば、すべてのシートをループして 1 シートずつ処理することができます。
php(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 | //PHPExcelの読み込み require_once("./Classes/PHPExcel.php"); //既存ファイルの読み込み $obj_reader = PHPExcel_IOFactory::createReader('Excel2007'); $obj_book = $obj_reader->load('test.xlsx'); //ループで存在するシートを全て取得します for($i = 0; $i < $obj_book->getSheetCount(); $i++){ $obj_worksheet = $obj_book->getSheet($i); print "取得したシートの名前→" . $obj_worksheet->getTitle() . "\n"; } |
test.xlsx に以下のようなシートが存在している場合の実行結果は次の通りです。
取得したシートの名前→Sheet1 取得したシートの名前→Sheet2 取得したシートの名前→Sheet3
スポンサーリンク