0

嗨,我正在尝试使用eexcelview获取 excel 中的数据。我已经在控制器中添加了代码

$query = " some query from 4 tables ";
$dataProvider=new CSqlDataProvider($query, array(
    'sort'=>array('attributes'=>array(
                                    'col1', 
                                    'col2',
                                    'col3', 
                                    'col4',
                                    'col5'  ),),));
$this->widget('application.extensions.EExcelView', array(
        'dataProvider'=> $dataprovider,
        'title'=>'Title',
        'autoWidth'=>false,
         ));

我的理解是当这个动作被调用时,它会直接要求我保存excel报告。但相反,我得到了错误The "dataProvider" property cannot be empty.

C:\wamp\www\yii\framework\zii\widgets\CBaseListView.php(106)
100      * Initializes the view.
101      * This method will initialize required property values and instantiate {@link columns} objects.
102      */
103     public function init()
104     {
105         if($this->dataProvider===null)
106             throw new CException(Yii::t('zii','The "dataProvider" property cannot be empty.'));

此外,同样$dataproviderCGridView工作正常。

我的代码有什么问题?

4

1 回答 1

3

PHP 变量区分大小写。因此,您必须将代码更改为

$this->widget('application.extensions.EExcelView', array(
        'dataProvider'=> $dataProvider,
        'title'=>'Title',
        'autoWidth'=>false,
         )); 
于 2013-01-29T17:16:20.573 回答