2017-12-20 22 views
1

異なるシートを使用してExcelファイルを作成しています。異なるシートは反復によって作成されます。しかし、私の反復では、ワークシートという名前の余分なシートが作成されます。私のコードは次のとおりです。phpexcelを使用して複数のシートを作成するときに余分なワークシートが存在する

 $result = fetch results from database; 
     $count = COUNT($result); 
     foreach ($result as $key=>$value){ 
      $objPHPExcel->createSheet($key); 
      $objPHPExcel->getActiveSheet() 
        ->setTitle($value['title']); 
     } 

私のデータベースには、3つの結果を持っているし、それが「ワークシート」と命名された第1と一緒に3つのワークシートを生成します。

私は

if ($key > 0) { 
    execute above code 
} 
else { 
    $objPHPExcel->setActiveSheetIndex(0)->setTitle($value['title']); 
} 

でチェック条件を使用していた場合、それが正常に動作します。それはどうしてそうですか?間違いはどこですか?

答えて

1

コードに問題はありません。 $objPHPExcel = new PHPExcel()を使用して新しいPHPExcelオブジェクトをインスタンス化すると、「ワークシート」という単一のシートが作成されます。あなた自身のシートだけを作成したい場合は削除してください

$objPHPExcel->removeSheetByIndex(0); 
+0

ありがとうございました。ワークシートを削除しました。しかし、なぜそれが条件であれば働いていますか? – Ques

関連する問題