标签:
/** * 下载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; }
标签:
原文地址:http://my.oschina.net/yonghan/blog/479734