PHPExcel是一款非常強大的PHP操作EXCEL庫,使用PHPExcel可以幫助我們簡單、高效實現從Excel讀取Excel的數據和導出數據到Excel。
最近在使用PHPExcel循環生成多個sheet時,遇到You tried to set a sheet active by the out of bounds index: 1. The actual number of sheets is 1錯誤,特將解決辦法記錄如下:
產生這個錯誤的原因是PHPExcel會自動創建第一個sheet,因此我們可以直接創建一個PHPEXCEL對象並且操作第一個sheet:
$excel = new PHPExcel();
$excel->setactivesheetindex(0);
因此我最開始的循環代碼就是直接用變量循環:
$excel = new PHPExcel();
for($i=0;$i<5;$i++){
$excel->setactivesheetindex($i);
}
這樣就會報上面的錯誤,因爲之後的sheet無法自動創建,而需要我們通過代碼創建,因此我們要判斷循環變量是否大於0,如果大於0那麼要先createSheet():
$excel = new PHPExcel();
for($i=0;$i<5;$i++){
if($i>0){
$excel->createSheet();
}
$excel->setactivesheetindex($i);
}