我们先来看一下效果:
设置文件编码为utf8
header(\"大众Content-type: text/html; charset=utf-8\"大众);
// 引入PHPExcel
require_once '/PHPExcel/Classes/PHPExcel.php';
// 创建Excel文件工具
$objPHPExcel = new PHPExcel();
// 设置文档信息(可以在windows系统中查看文件属性查看文档信息)
$objPHPExcel->getProperties()->setCreator(\公众报名表\"大众)
->setLastModifiedBy(\公众报名表\"大众)
->setTitle(\"大众报名数据\公众)
->setSubject(\公众报名数据\公众)
->setDescription(\"大众报名数据\公众)
->setKeywords(\公众报名数据\"大众)
->setCategory(\"大众报名数据\"大众);
//第一行,设置表头,根据excel坐标,添加数据
$letter = array('A','B','C','D','E','F','G');
$tableheader = array('ID','姓名','年事','性别','电话','报名韶光','备注');
for($i = 0;$i < count($tableheader);$i++) {
$objPHPExcel->setActiveSheetIndex(0)->setCellValue(\公众$letter[$i]1\"大众,\公众$tableheader[$i]\公众);
}
//第二行,开始添加数据(utf8编码)
//$result是MySQL的二维数组,查询的字段要和表头设置的字段相对应
$result = Array (
'0' => Array (
'id' => 1,
'name' => '张弛',
'age' => 25,
'sex' => '男',
'call' => '13988888888',
'addtime' => '1507455825',
'note' => '这里是备注'
),
'1' => Array (
'id' => 2,
'name' => '田时兰',
'age' => 36,
'sex' => '女',
'call' => '18788888888',
'addtime' => '1507188468',
'note' => '这里是备注'
),
);
for ($i = 2;$i <= count($result) + 1;$i++) {
$j = 0;
foreach ($result[$i - 2] as $key=>$value) {
$objPHPExcel->getActiveSheet()->setCellValue(\公众$letter[$j]$i\"大众, $value);
$j++;
}
}
// 重命名事情sheet
$objPHPExcel->getActiveSheet()->setTitle('报名数据表');
// 设置第一个sheet为事情的sheet
$objPHPExcel->setActiveSheetIndex(0);
// 文件名
$filename = date('YmdHis', time());
// 输出Excel表格到浏览器下载
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
ob_end_clean(); //清空缓冲区,避免涌现乱码
header(\公众Cache-Control: must-revalidate, post-check=0, pre-check=0\公众);
header(\公众Connection: Keep-Alive\公众);
header(\"大众Content-Disposition: attachment; filename=\"大众.urlencode($filename).\公众.xls\"大众);
header(\公众Content-Type: application/application/vnd.ms-excel; charset=utf-8\公众);
$objWriter->save('php://output');
exit;
好了,以上便是一个大略的报表导出代码,复制直接运行就能看到效果。
PHPExcel还有很多功能,想理解的可以点击关注哦。