您的位置:首页 > 编程语言 > PHP开发

PHPExcel导出mysql数据库数据

2015-08-25 23:14 573 查看
使用PHPExcel导出文件

首先看看上面的文章,写入方法一样,只是中间多了数据库的操作,后面还有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');
}


运行截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: