Yii中使用PHPExcel导出Excel

在Yii项目中,遇到使用PHPExcel导出Excel时出现数组越界错误。通过下载PHPExcel并放置到extention目录,然后在Controller中创建方法,但过程中遇到$count['count']数组越界的问题。解决方案是对搜索条件的获取进行调整,该问题可能源于js处理的搜索条件。
摘要由CSDN通过智能技术生成

1. 下载PHPExcel,放到项目的extention下面:如截图

2. 在Controller里面创建方法如下,参考文章点击打开链接

</pre><pre name="code" class="javascript">/**
	 * export all models.
	 */
	public function actionExport()
	{

//		
//		第1部分:导出Excel表头设置
		/*
		* PHPExcel类库存放在protected/extension/PHPExcel目录下
		*PHPExcel类是一个用来读写 Excel 2007 (OpenXML) 文件的 PHP 库。
		*
		* 导出Excel表头设置
		*/

        Yii::import('ext.phpexcel.XPHPExcel');
		$excel =  XPHPExcel::createPHPExcel();
		$excel->setActiveSheetIndex(0);
		$header = array('A' => 'ID', 'B' => 'Project', 'C' => 'SW', 'D' => 'Package', 'E' => 'Duration Time', 'F' => 'Error Count', 'G' => 'Error Frequency', 'H' => 'Logtime',);
		
		foreach ($header as $key => $value) {
		     $excel->setActiveSheetIndex(0)->setCellValue($key . '1', $value);
		     $excel->getActiveSheet()->getColumnDimension($key)->setWidth(15);
		}
		$n = 2;//行数开始位置
		 表头设置完成
		
		/*
		*数据库查询得出结果集$rs
		*/
		//如果数据量比较大,要使用分页;得到结果集数量小就直接上第2步代码
		$connection = Yii::app()->db;
//		$count_sql = 'select count(*) from tbl_heartbeat_report';
//		$count = $connection->createCommand($count_sql)->queryRow();
<p align="left">//$rows =$count['count'];</p><p align="left">//$per_page_max= 3000;</p><p align="left">//$page =ceil($rows / $per_page_max);</p>
		$sql = 'select report_id, report_project, report_sw, report_package, report_duration_time, report_error_count, report_error_frequency, report_logtime  from tbl_heartbeat_report where 1=1';
		
		if(!empty($_GET['report_id']))
		{
        $sql.= " and report_id like '%".$_GET['report_id']."%'";
		}
		if(!empty($_GET['report_project']))
		{
        $sql.= " and report_project like '%".$_GET['report_project']."%'";
		}
		if(!empty($_GET['repor
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值