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

 

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