假设我有一张名为
cars{
'id','name','brand_id', 
}
和另一张桌子
brand{
'id','brand_name',
}
我有一种情况,我想生成一个具有以下属性
的Excel 报告。'name','brand_name'IESELECT cars.name, brand.brand_name FROM cars INNER JOIN on brand WHERE cars.brand_id = brand.id
所以我创建了一个这样的数据提供者:
$sql = "SELECT cars.name, brand.brand_name FROM cars INNER JOIN brand on cars.brand_id = brand.id";
$result = Yii::app()->db->createCommand($sql)->queryAll();
$this->render('doc', array('dataprovider' => $result));
现在我想生成带有结果的 Excel 文件,dataProvider所以我编写了以下代码:
// 假设我在名为 doc.php 的视图页面中执行此操作
$factory = new CWidgetFactory(); 
Yii::import('ext.eexcelview.EExcelView',true);  
        $widget = $factory->createWidget($this,'EExcelView', array(
            'dataProvider'=>$dataprovider->search(),
            'grid_mode'=>'export',
            'title'=>'Title',
            'creator'=>'TNC',
            'autoWidth'=>false,
            'filename'=>'Report.xlsx',
            'stream'=>false,
            'disablePaging'=>false,
            'exportType'=>'Excel2007',
            'columns'=>array(
                'name',
                'brand_name',),
            'showTableOnEmpty' => false,
        ));
        $widget->init();
        $widget->run();
我已经包含了我必须的所有扩展。. 当我用单个表格条目dataProvider输入该字段时,此代码正在工作。但是当我包含多个表时就会出现这种情况。