首先需要下載PHPExecel類文件,幫助文檔可以參考PHPExcel中文幫助手冊(cè)|PHPExcel使用方法。
下面直接上例子,是我自己寫的一個(gè)簡(jiǎn)單的批量導(dǎo)出數(shù)據(jù)為excel的例子
前臺(tái)頁面 比較簡(jiǎn)單,就是一個(gè)超鏈接,跳轉(zhuǎn)到處理頁面,超鏈接也可以跟一些參數(shù)(看需求)!
<a href="./Process1.php" rel="external nofollow" >導(dǎo)出excel表格</a>
后臺(tái)Process.php頁面
/*** 批量導(dǎo)出數(shù)據(jù)* @param $arr 從數(shù)據(jù)庫查詢出來,即要導(dǎo)出的數(shù)據(jù)* $name excel表歌名*/function expExcel($arr,$name){ require_once 'PHPExcel.php'; //實(shí)例化 $objPHPExcel = new PHPExcel(); /*右鍵屬性所顯示的信息*/ $objPHPExcel->getProperties()->setCreator("zxf") //作者 ->setLastModifiedBy("zxf") //最后一次保存者 ->setTitle('數(shù)據(jù)EXCEL導(dǎo)出') //標(biāo)題 ->setSubject('數(shù)據(jù)EXCEL導(dǎo)出') //主題 ->setDescription('導(dǎo)出數(shù)據(jù)') //描述 ->setKeywords("excel") //標(biāo)記 ->setCategory("result file"); //類別 //設(shè)置當(dāng)前的表格 $objPHPExcel->setActiveSheetIndex(0); // 設(shè)置表格第一行顯示內(nèi)容 $objPHPExcel->getActiveSheet() ->setCellValue('A1', '業(yè)主姓名') ->setCellValue('B1', '密碼') ->setCellValue('C1', '手機(jī)號(hào)碼') ->setCellValue('D1', '地址') //設(shè)置第一行為紅色字體 ->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED); $key = 1; /*以下就是對(duì)處理Excel里的數(shù)據(jù),橫著取數(shù)據(jù)*/ foreach($arr as $v){ //設(shè)置循環(huán)從第二行開始 $key++; $objPHPExcel->getActiveSheet() //Excel的第A列,name是你查出數(shù)組的鍵值字段,下面以此類推 ->setCellValue('A'.$key, $v['name']) ->setCellValue('B'.$key, $v['pwd']) ->setCellValue('C'.$key, $v['phone']) ->setCellValue('D'.$key, $v['address']); } //設(shè)置當(dāng)前的表格 $objPHPExcel->setActiveSheetIndex(0); ob_end_clean(); //清除緩沖區(qū),避免亂碼 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;}/***********調(diào)用**********************/header("Content-type:text/html;charset=utf-8");//鏈接數(shù)據(jù)庫$link = @mysql_connect('localhost','root','') or die('連接數(shù)據(jù)庫失敗');mysql_select_db('test',$link);mysql_query('set names utf8');//先獲取數(shù)據(jù)$sql = "select * from house";$res = mysql_query($sql);$arr = array();//把$res=>$arr,把結(jié)果集內(nèi)容轉(zhuǎn)移到一個(gè)數(shù)組中while ($row = mysql_fetch_assoc($res)){ $arr[] = $row;}//excel表格名$name = "用戶表";//調(diào)用expExcel($arr,$name)使用PHPExcel導(dǎo)出數(shù)據(jù)至此完畢,對(duì)于使用PHPExcel導(dǎo)入到數(shù)據(jù)庫可以參看使用PHPExcel實(shí)現(xiàn)數(shù)據(jù)批量上傳到數(shù)據(jù)庫
以上這篇使用PHPExcel實(shí)現(xiàn)數(shù)據(jù)批量導(dǎo)出為excel表格的方法(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持VeVb武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選