下面小編就為大家帶來一篇使用PHPExcel實現資料大量匯出為excel表格的方法(必看)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
首先需要下載PHPExecel類檔案,協助文檔可以參考PHPExcel中文協助手冊|PHPExcel使用方法。
下面直接上例子,是我自己寫的一個簡單的大量匯出資料為excel的例子
前台頁面 比較簡單,就是一個超連結,跳轉到處理頁面,超連結也可以跟一些參數(看需求)!
<a href="./Process1.php" rel="external nofollow" >匯出excel表格</a>
後台Process.php頁面
/*** 大量匯出資料* @param $arr 從資料庫查詢出來,即要匯出的資料* $name excel表歌名*/function expExcel($arr,$name){ require_once 'PHPExcel.php'; //執行個體化 $objPHPExcel = new PHPExcel(); /*右鍵屬性所顯示的資訊*/ $objPHPExcel->getProperties()->setCreator("zxf") //作者 ->setLastModifiedBy("zxf") //最後一次儲存者 ->setTitle('資料EXCEL匯出') //標題 ->setSubject('資料EXCEL匯出') //主題 ->setDescription('匯出資料') //描述 ->setKeywords("excel") //標記 ->setCategory("result file"); //類別 //設定當前的表格 $objPHPExcel->setActiveSheetIndex(0); // 設定表格第一行顯示內容 $objPHPExcel->getActiveSheet() ->setCellValue('A1', '業主姓名') ->setCellValue('B1', '密碼') ->setCellValue('C1', '手機號碼') ->setCellValue('D1', '地址') //設定第一行為紅色字型 ->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); $key = 1; /*以下就是對處理Excel裡的資料,橫著取資料*/ foreach($arr as $v){ //設定迴圈從第二行開始 $key++; $objPHPExcel->getActiveSheet() //Excel的第A列,name是你查出數組的索引值欄位,下面以此類推 ->setCellValue('A'.$key, $v['name']) ->setCellValue('B'.$key, $v['pwd']) ->setCellValue('C'.$key, $v['phone']) ->setCellValue('D'.$key, $v['address']); } //設定當前的表格 $objPHPExcel->setActiveSheetIndex(0); ob_end_clean(); //清除緩衝區,避免亂碼 header('Content-Type: application/vnd.ms-excel'); //檔案類型 header('Content-Disposition: attachment;filename="'.$name.'.xls"'); //檔案名稱 header('Cache-Control: max-age=0'); header('Content-Type: text/html; charset=utf-8'); //編碼 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel 2003 $objWriter->save('php://output'); exit;}/***********調用**********************/header("Content-type:text/html;charset=utf-8");//連結資料庫$link = @mysql_connect('localhost','root','') or die('串連資料庫失敗');mysql_select_db('test',$link);mysql_query('set names utf8');//先擷取資料$sql = "select * from house";$res = mysql_query($sql);$arr = array();//把$res=>$arr,把結果集內容轉移到一個數組中while ($row = mysql_fetch_assoc($res)){ $arr[] = $row;}//excel表格名$name = "使用者表";//調用expExcel($arr,$name)
使用PHPExcel匯出資料至此完畢,對於使用PHPExcel匯入到資料庫可以參看使用PHPExcel實現資料批量上傳到資料庫