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); }
本文为原创文章,版权归主机之家测评所有,欢迎分享本文,转载请保留出处!