我是Yii的新手。我正在做一个导出到Excel选项的方案。我已经过了一半。这些值将填入必要的字段中。但是,如果存在Empty值,则Excel中的单元格将获取下一列值,因此发生不匹配,因此如何在Excel Export中执行空白单元格。
if(!empty($cmApprRes)){
foreach($cmApprRes as $log){
$arrData[$i][]=CHtml::encode($log->cm_log_description);
}
}
else
//if there is no data in the log table the corresponding column should be shown as blank.
//but that is not working please suggest an option for else
{
}
提前致谢。
答案 0 :(得分:0)
这是固定的。对不起,这是一个简单的步骤。
if(!empty($cmApprRes)){
foreach($cmApprRes as $log){
$arrData[$i][]=CHtml::encode($log->cm_log_description);
}
}
else
{
$arrData[$i][]="";
}
答案 1 :(得分:0)
如果您正在尝试通过自己编写解决方案来解决Excel - 导出需求,那么我建议避免重新发明轮子(除非完全必要或出于某种原因需要)并使用第三个派对图书馆。您可以使用 yiiBasicXls (https://github.com/faustow/yiiBasicXls)。 它使用起来非常简单:
<强>安装强>
下载XlsExporter.php并将其移至您自己的Yii应用程序中的/ protected / components /。
<强>用法强>
一旦XlsExporter组件到位,您只需要:
filename
:将用作输出文件名的名称的字符串。无需附加&#39; .xls&#39;因为它将默认添加。 (必需) data
:活动记录数据集(必填)title
:将成为的字符串
用作显示在导出行顶部的标题。默认为
假的。header
:显示/隐藏标题的布尔值。默认为false。fields
:要导出的字段数组。默认为false。type
:字符串,用于说明为最终用户导出的内容(使用复数形式),例如&#39;用户&#39;汽车&#39;等。默认为&#39;线&#39; 示例强>
例如(在某些控制器上):
public function actionDownloadReport() {
$fields = array('email', 'firstName', 'lastName', 'type');
$criteria = new CDbCriteria();
$criteria->select = $fields;
$criteria->condition = "firstName = 'John'";
$criteria->order = 'lastName';
$users = users::model()->findAll($criteria);
XlsExporter::downloadXls('report', $users, 'List of users called John', true, $fields, 'users');
}
一旦到位,调用yoursite.com/somecontroller/downloadReport
将触发浏览器中xls文件的下载。