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); }
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







