Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii-如何使用yexcel插件读取excel文件表_Php_Yii_Yii Extensions - Fatal编程技术网

Php Yii-如何使用yexcel插件读取excel文件表

Php Yii-如何使用yexcel插件读取excel文件表,php,yii,yii-extensions,Php,Yii,Yii Extensions,我使用的是Yexcel-YII插件,它是PHPEXcel的包装器,用于需要读取和解析不同excel文件的web应用程序 我能够读取和使用excel文件中的数据,这些数据是单一的,意味着它们只有 一张工作表,但当要读取同一excel文件中的其他工作表时,我无法读取这些工作表,因为这会给我带来错误。使用PHPExcel,我们可以设置活动工作表并读取 像这样 $objPHPExcel->setActiveSheetIndex(0);//第一页 但是我们如何使用YII的yexcel插件来实现这一点呢

我使用的是Yexcel-YII插件,它是PHPEXcel的包装器,用于需要读取和解析不同excel文件的web应用程序

我能够读取和使用excel文件中的数据,这些数据是单一的,意味着它们只有 一张工作表,但当要读取同一excel文件中的其他工作表时,我无法读取这些工作表,因为这会给我带来错误。使用PHPExcel,我们可以设置活动工作表并读取 像这样

$objPHPExcel->setActiveSheetIndex(0);//第一页

但是我们如何使用YII的yexcel插件来实现这一点呢

因为当我用yexcel对象调用这个函数时,它给了我一个错误

 Fatal error: Call to undefined method Yexcel::setActiveSheetIndex()
问题:如何访问Excel文件中的所有工作表


非常感谢您提供正确方向的帮助和指导。

使用导入csv扩展


您可以扩展Yexcel类并基于Yexcel->readActiveSheet()编写自己的方法,也可以对其进行硬编码(糟糕的做法)

以下是我的修改版本:

        public function readActiveSheet( $file, $activeSheet = 0 )
        {
            $objPHPExcel = PHPExcel_IOFactory::load($file);
            $objPHPExcel->setActiveSheetIndex($activeSheet);
            $sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true);

            return $sheetData;
        }
您可以按如下方式使用它:

$sheet_attay = Yii::app()->yexcel->readActiveSheet($filename, 1);