公司要求做一个功能:将数据库里的数据导出,并生成excel文件。
于是百度了下,集大牛之所长,加上自己之所长,做出了整理,并分享。
目标:使用phpexcel类库生成xml文件,并下载。
步骤一:下载phpexcel类库,下载地址:phpexcel.codeplex.com
步骤二:导入phpexcel类库
步骤三:使用phpexcel类库设置xls内容,并生成
上代码了:
1 <?php 2 //引入PHPExcel库文件(路径根据自己情况) 3 include "./PHPExcel.php"; 4 //创建对象 5 $excel = new PHPExcel(); 6 //Excel表格式,这里简略写了8列 7 $letter = array('A','B','C','D','E','F','F','G'); 8 //表头数组 9 $tableheader = array('学号','姓名','性别','年龄','班级'); 10 //填充表头信息 11 for($i = 0;$i < count($tableheader);$i++) { 12 $excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]"); 13 } 14 //表格数组 15 $data = array( 16 array('1','小王','男','20','100'), 17 array('2','小李','男','20','101'), 18 array('3','小张','女','20','102'), 19 array('4','小赵','女','20','103') 20 ); 21 //填充表格信息 22 for ($i = 2; $i <= count($data) + 1;$i++) { 23 $j = 0; 24 foreach ($data[$i - 2] as $key=>$value) { 25 $excel->getActiveSheet()->setCellValue("$letter[$j]$i","$value"); 26 $j++; 27 } 28 } 29 //创建Excel输入对象 30 $write = new PHPExcel_Writer_Excel5($excel); 31 header("Pragma: public"); 32 header("Expires: 0"); 33 header("Cache-Control:must-revalidate, post-check=0, pre-check=0"); 34 header("Content-Type:application/force-download"); 35 header("Content-Type:application/vnd.ms-execl"); 36 header("Content-Type:application/octet-stream"); 37 header("Content-Type:application/download"); 38 header('Content-Disposition:attachment;filename="applyUser.xls"'); 39 header("Content-Transfer-Encoding:binary"); 40 $write->save('php://output'); 41 ?>
备注:以上代码可以直接复制,运行并作测试。注意phpexcel类库的路径