我一直在尝试将CGridView数据导出到excel或csv文件并保存文件。所以,我使用了扩展名EExcelView。根据他们的指示,我将PHPExcel和EExcelView作为ptrotected / PHPExcel和ptrotected / EExcelView提取到扩展文件夹中,并将以下代码写入admin.php文件中:
$this->widget('application.extensions.EExcelView', array(
'dataProvider'=>$model->search(),
'autoWidth'=>true,
'exportType'=>'CSV',
'grid_mode' => 'export',
'filter'=>$model,
'filename'=>'newFile',
'columns'=>array(
'id',
'name',
'email',
'username',
'password',
'last_login_time',
'create_time',
'update_time',
array(
'class'=>'CButtonColumn',
),
),
));
不幸的是,我没有得到任何文件来保存,而是我得到所有数据都显示在浏览器上。我在阅读他们的指令时应用了几种变体。但没有运气。请帮助我。
答案 0 :(得分:0)
尝试添加流选项并将其设置为true,如下所示:
$this->widget('application.extensions.EExcelView', array(
'dataProvider'=>$model->search(),
'autoWidth'=>true,
'exportType'=>'CSV',
'grid_mode' => 'export',
'stream'=>true, <----- ADD THIS LINE
...