php导出excel报表方式网上有很多种,有的方法已经过时,有的看不懂,运行有错误,所以找资料时难免苦恼.在这里给大家分享一个简单易用的方法,致力于让大家一看就会,信心百倍.结合实例,利用PHPExcel库导出excel.
分为4个步骤:
1.取出数据库数据
<pre name="code" class="php"><pre name="code" class="php">
<pre name="code" class="php"> //1.数据库取出数据
$conn=new mysqli('localhost','root','root','myDBPDO');
$result=$conn->query('select * from emp');
$emps=array();
while($row=$result->fetch_assoc()){
static $i=0;
$emps[$i] = $row;
$i++;
}
//设置内存占用
set_time_limit(0);
ini_set('memory_limit', '512M');
2.下载 PHPExcel库
点击网址进入,即可下载:
下载完成解压,程序中引入PHPExcel库
<pre name="code" class="html"> //2.导入PHPExcel库
include './PHPExcel_1.8.0_doc/Classes/PHPExcel.php';
//创建对象
$objPHPExcel = new PHPExcel();
//设置属性
$objPHPExcel->getProperties()
->setCreator("WOLF")
->setLastModifiedBy("WOLF")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
3.向表格填充数据
//3.填充表格
$objActSheet = $objPHPExcel->setActiveSheetIndex(0); //填充表头
$objActSheet->setCellValue('A1','ID');
$objActSheet->setCellValue('B1','姓名');
$objActSheet->setCellValue('C1','年龄');
$objActSheet->setCellValue('D1','薪水');
//填充内容
for($i=0;$i<count($emps);$i++){
$key=$i+2;
$objActSheet->setCellValue('A'.$key,$emps[$i]['id']);
$objActSheet->setCellValue('B'.$key,$emps[$i]['name']);
$objActSheet->setCellValue('C'.$key,$emps[$i]['age']);
$objActSheet->setCellValue('D'.$key,$emps[$i]['salary']);
}
4.生成表格
<pre name="code" class="html">
//4.输出
$objPHPExcel->getActiveSheet()->setTitle('员工信息表');
$objPHPExcel->setActiveSheetIndex(0);
$day = date("m-d");
$filename = $day.'员工信息表.xls';
ob_end_clean();//清除缓冲区,避免乱码
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header('Content-Disposition: attachment;filename='.$filename);
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save('php://output');
exit;
到此,我们就成功导出excel报表 .