phpexcel导出报表的功能简单示例:
<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('PRC');
include './Classes/PHPExcel.php';
$excel = new PHPExcel();
$letter = array('A','B','C','D','E','F','F','G');
//表头数组
$tableheader = array('学号','姓名','性别','年龄','班级');
//填充表头信息
for($i = 0;$i < count($tableheader);$i++) {
$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}
//表格数组
$data = array(
array('1','小王','男','20','100'),
array('2','小李','男','20','101'),
array('3','小张','女','20','102'),
array('4','小赵','女','20','103')
);
//填充表格信息
for ($i = 2;$i <= count($data) + 1;$i++) {
$j = 0;
foreach ($data[$i - 2] as $key=>$value) {
$excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value");
//添加判断设置表格的背景色
if($key == 1){
if($value== '小李'){
$excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);//getStyle()里面使用变量时,要用双引号,否则整体$letter[$j]$i会作为一个字符串存在
$excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->getStartColor()->setRGB('87d3ff');
}else{
$excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$excel->getActiveSheet()->getStyle( "$letter[$j]$i")->getFill()->getStartColor()->setRGB('FF6839');
}
}
$j++;
}
}
//创建Excel输入对象
$write = new PHPExcel_Writer_Excel5($excel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="testdata.xls"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');
需要合并单元格:
$excel->getActiveSheet()->setCellValue('A1', 'www.ziaostudio.com');//先写入内容再合并单元格,否则报错
$excel->getActiveSheet()->mergeCells('A1:E1');//合并A1-E1之间的单元格