Your requested sheet index: 1 is out of bounds. The actual number of sheets is 0
产生错误的原因是你可能打开了错误的文件,需要查一下你打开的文件是不是excel格式,还是哪里写错了。
我这里就是把file_id弄错了,导致它找不到我打开的文件,所以报了错误。
Vendor('PHPExcel/IOFactory');
Vendor('PHPExcel/Cell');
//判断excel版本,导入不同文件
$file_id=$message['filename']; //当时file_id没有用这条语句获取,所以下面getSheet的时候,就找不到我对应的文件,而打开了错误的文件
$file= M('file')->where('id='.$file_id)->find();
if ($file['ext'] == 'xls') {
//如果excel文件后缀名为.xls,导入这个类
$objReader=\PHPExcel_IOFactory::createReader('Excel5');
} else {
//如果excel文件后缀名为.xlsx,导入这个类
$objReader=\PHPExcel_IOFactory::createReader('Excel2007');
}
$fileURL='./Uploads/Download/'.$file['savepath'].$file['savename'];
//$this->success ($fileURL);
// 判断使用哪种格式
//$objReader = PHPExcel_IOFactory::createReader("Excel2007");
$PHPExcel = $objReader ->load($fileURL);
//$this->success ($PHPExcel);
//获取表中的第一个工作表,如果要获取第二个,把0改为1,依次类推
$currentSheet = $PHPExcel->getSheet(0);
$allColumn = $currentSheet->getHighestColumn(); //获取总列数
//$this->success ($allColumn);
$allRow = $currentSheet->getHighestRow(); //获取总行数