PHPExcel循环生成sheet报错You tried to set a sheet active by the out of bounds index: 1. The 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);  }

未经允许不得转载:吾爱主机之家 » PHPExcel循环生成sheet报错You tried to set a sheet active by the out of bounds index: 1. The actual number of sheets is 1