首先看看上面的文章,写入方法一样,只是中间多了数据库的操作,后面还有excel浏览器输出。
数据库代码(数据库配置文件自行完成)
<?php /*db.php*/ require dirname(__FILE__)."/dbconfig.php"; class db{ public $conn = null; public function __construct($config){ $this->conn=mysql_connect($config['host'],$config['username'],$config['password']) or die(mysql_error()); mysql_select_db($config['database'],$this->conn) or die(mysql_error()); mysql_query("set names ".$config['charset']) or die(mysql_error()); } public function getResult($sql){ $resource = mysql_query($sql,$this->conn) or die(mysql_error()); $res = array(); while(($row=mysql_fetch_assoc($resource))!=false){ $res[] = $row; } return $res; } public function getUserinfo(){ $sql = "。。。"; $res = self::getResult($sql); return $res; } }
数据库导出代码:
<?php $dir = dirname(__FILE__); require $dir."/db.php"; require $dir."/PHPExcel.php"; $db = new db($phpexcel); $objPHPExcel = new PHPExcel(); for($i=0; $i<3; $i++){ if($i>0){ $objPHPExcel->createSheet(); } $objPHPExcel->setActiveSheetIndex($i); $objSheet = $objPHPExcel->getActiveSheet(); $data = $db->getUserinfo(); $objSheet->setCellValue("A1","编号")->setCellValue("B1","登陆名") ->setCellValue("C1","昵称")->setCellValue("D1","电子邮箱") ->setCellValue("E1","学校")->setCellValue("F1","最后登陆时间"); $j = 2; foreach ($data as $key => $value) { # code... $objSheet->setCellValue("A".$j,$value['id'])->setCellValue("B".$j,$value['user_login']) ->setCellValue("C".$j,$value['user_nicename'])->setCellValue("D".$j,$value['user_email']) ->setCellValue("E".$j,$value['sch_name'])->setCellValue("F".$j,$value['last_login_time']); $j++; } } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,"Excel5"); // $objWriter->save($dir.'/export.xls'); //生成excel文件 browser_export("Excel5","browser_excel03.xls"); //浏览器输出 $objWriter->save("php://output"); function browser_export($type, $filename){ if($type == "Excel5"){ header('Content-Type: application/vnd.ms-excel'); //excel2003 }else{ header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //excel2007 } header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); }
运行截图:
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-04 06:35:23