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

php mysql导出Excel格式

2018-04-02 13:18 267 查看
<?php

header('Content-Type: application/vnd.ms-excel');
header('Content-Type: application/octet-stream');
header('Cache-Control: max-age=0');

//连接数据库
$PDO = new PDO('mysql:host=127.0.0.1;dbname=test','username','password');
//写入前1000条数据
$sql='SELECT * FROM `sysuser` LIMIT 0, 1000';
$data=$PDO->query($sql)->fetchAll(PDO::FETCH_ASSOC);
$key=[];
//得到所有键名
foreach($data[0] as $k=>$v){
$key[]=$k;
}
//引入phpExcel类
require_once('phpExcel.php');
$obj=new PHPExcel();		//创建对象
$str='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
//表格第一行(标题)
for($i=0;$i<count($key);$i++){
$obj->setActiveSheetIndex(0)->setCellValue($str[$i].'1',$key[$i]);
}
//设置单元格格式 背景颜色
$obj->getActiveSheet()->getStyle( 'A1:'.$str[$i-1].'1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$obj->getActiveSheet()->getStyle( 'A1:'.$str[$i-1].'1')->getFill()->getStartColor()->setARGB('FF808080');

//写入数据
foreach($data as $ke=>$val){
$ke+=2;
for($j=0;$j<count($val);$j++){
$obj->setActiveSheetIndex(0)->setCellValue($str[$j].$ke,$val[$key[$j]]);
}
}
//表格默认字体  字体大小
$obj->getDefaultStyle()->getFont()->setName('ARial');
$obj->getDefaultStyle()->getFont()->setSize(12);

//设置每列的宽
$obj->getActiveSheet()->getDefaultColumnDimension()->setWidth(14);
//具体到某列
$obj->getActiveSheet()->getColumnDimension('F')->setWidth(20);

// $obj->getDefaultStyle()->getAlignemnt()->setHorizontal(PHPExcel_Style_Alignemnt::HORIZONTAL_CENTER);

$obj->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

$obj->getActiveSheet() -> setTitle('用户列表');
$obj-> setActiveSheetIndex(0);
//生成下载文件
$objWriter=PHPExcel_IOFactory::createWriter($obj,'Excel2007');
$filename = '用户列表.xlsx';
// ob_end_clean();//清除缓存以免乱码出现
header('Content-Disposition: attachment; filename="' . $filename . '"');

$objWriter -> save('php://output');

//phpExcel 扩展   如果是php7.0 会产生一个错误把相应文件(functions.php)  500多行的 break 删掉即可
链接:https://pan.baidu.com/s/1s8D8WtKMuHBS-pME81JanQ 密码:b7ti  永久有效

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