我正在使用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文件中的所有工作表。
非常感谢任何帮助,正确方向的指导。
答案 0 :(得分:1)
使用import csv extension
答案 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);