報錯You tried to set a sheet active by the out of bounds index: 1The actual number of sheets is 1

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);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章