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

时间:2014-01-16 08:57:52

标签: php yii yii-extensions

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

http://www.yiiframework.com/extension/yexcel/

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

$objPHPExcel->setActiveSheetIndex(0); // first sheet

但我们怎样才能使用YII的yexcel插件呢?

因为当我用yexcel对象调用此函数时,它会给我错误

 Fatal error: Call to undefined method Yexcel::setActiveSheetIndex()

问题:如何访问Excel文件中的所有工作表。

非常感谢任何帮助,正确方向的指导。

2 个答案:

答案 0 :(得分:1)

使用import csv extension

yii import csv

答案 1 :(得分:1)

您可以扩展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);