2016-12-29 9 views
0

このようにPHPexcelで関数を作成することはできませんか?PHPexcel as関数

$objPHPExcel = new PHPExcel(); 

global $objPHPExcel; 

function Create($title, $index) 
{ 
    global $objPHPExcel; 

    $objPHPExcel->setActiveSheetIndex($index); 
    $objPHPExcel->getActiveSheet()->setTitle($title); 
} 


Create('Title1', 0); 
Create('Title2', 1); 

私はこのエラーを取得する:致命的なエラー:1枚の実際の数は、1

です:あなたがバウンドインデックスのうちでアクティブシートを設定しようとしました」というメッセージでキャッチされない例外「PHPExcel_Exception」を
+1

あなたは$のindex' 'と '1'渡すCreate''への2回目の呼び出しでは、エラー・メッセージを確認し、あなたがエクセルファイルのみと思われます1シートあります。 – yorodm

答えて

0

createSheet()が届きませんでした。毎回あなたは...よくExcelシートを作成してください。私はまた、関数にパラメータとしてオブジェクトを渡し、オブジェクトが必要な型(あなたの場合はPHPExcel)であることを許可するためにタイプヒントを使用しました。

$objPHPExcel = new PHPExcel(); //Create your object 

    function Create(PHPExcel $objPHPExcel, $title, $index) //Set param object to be of Type PHPExcel (Type Hinting) 
    { 

     $objPHPExcel->setActiveSheetIndex($index); 
     $objPHPExcel->getActiveSheet()->setTitle($title); 
     $objPHPExcel->createSheet(); //New Sheet 

    } 

    Create($objPHPExcel, 'Title1', 0); //Set Object For Each Param 
    Create($objPHPExcel, 'Title2', 1); //Set Object For Each Param 

を参照してください:

http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration