码迷,mamicode.com
首页 > Web开发 > 详细

PHPExcel

时间:2015-07-17 16:30:27      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

/**
	 * 下载excel数据表格
	 * @param $fileName
	 * @param $headArr
	 * @param $data
	 * @throws PHPExcel_Reader_Exception
	 */
	public function getExcel($fileName,$headArr,$data){
		//导入excel类库
		include APP.‘/lib/PHPExcel.php‘;
		include APP.‘/lib/PHPExcel/IOFactory.php‘;
		$date = date("Y_m_d",time());
		$fileName .= "_{$date}.xls";
		//phpExcel大数据量情况下内存溢出解决
		$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;
	    $cacheSettings = array(‘memoryCacheSize‘=>‘16MB‘);
		PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);		
		//创建PHPExcel对象
		$objPHPExcel = new PHPExcel();		 
		$objPHPExcel->getProperties()->setTitle("export")->setDescription("none");
		//设置表头
		$key = ord("A");
		foreach($headArr as $v){
			$colum = chr($key);
			$objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.‘1‘, $v);
			$key += 1;
		}
		//数据从第二行开始		 
		$column = 2;
		foreach($data as $key => $rows){ //行写入
			$span = ord("A");
			foreach($rows as $keyName=>$value){// 列写入
				 $j = chr($span);
				 $objPHPExcel->getActiveSheet(0)->setCellValue($j.$column, $value);
				 $span++;
			}
			$column++;
		}
		//文件名
		$fileName = iconv("utf-8", "gb2312", $fileName);
		//  sheet命名		
		$objPHPExcel->getActiveSheet()->setTitle(‘列表‘);		
		// Set active sheet index to the first sheet, so Excel opens this as the first sheet		
		$objPHPExcel->setActiveSheetIndex(0);		
		$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);		
		// Set active sheet index to the first sheet, so Excel opens this as the first sheet		
		$objPHPExcel->setActiveSheetIndex(0);		
		$objWriter = IOFactory::createWriter($objPHPExcel, ‘Excel2007‘);				
		/* 生成到浏览器,提供下载 */		
		ob_end_clean();  //清空缓存		
		header("Pragma: public");		
		header("Expires: 0");		
		header("Cache-Control:must-revalidate,post-check=0,pre-check=0");		
		header("Content-Type:application/force-download");		
		header("Content-Type:application/vnd.ms-execl");		
		header("Content-Type:application/octet-stream");		
		header("Content-Type:application/download");		
		header("Content-Disposition: attachment;filename=\"$fileName\"");		
		header("Content-Transfer-Encoding:binary");		
		$objWriter->save(‘php://output‘);		
		exit;
	}


PHPExcel

标签:

原文地址:http://my.oschina.net/yonghan/blog/479734

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!