PHPExcel从数据库导出数据生成excel文件
1、引入数据库操作类,引入PHPExcel核心文件,并实例化它们,代码实现://引入自定义封装好的数据库操作类require_once('Model.php');//引入PHPExcel类核心入口文件require_once('./Classes/PHPExcel.php');//实例化数据库操作类、PHPExcel类$db = Model::getIntance();$objPHPExcel = new PHPExcel();
2、获取当前活动的sheet对象,并设置当前活动对象衡痕贤伎sheet设置名称,填充相关数据,代码实现://获取当前活动的sheet对象$objSh髫潋啜缅eet = $objPHPExcel->getActiveSheet();//给当前活动sheet设置名称$objSheet->setTitle('test');//给当前活动sheet填充数据$objSheet->setCellValue('A1', '编号')->setCellValue('B1', '姓名');
3、取得数据库表数倌栗受绽据并按指定格式填充数据,代码实现:$index = 2;//取得数据库数据$rel = $db->tabl髫潋啜缅e('wfx_test')->select();if ($rel) { foreach ($rel as $key => $value) { $objSheet->setCellValue('A'.$index,$value['id'])->setCellValue('B'.$index,$value['name']); $index++; }}
4、编写一个将excel文件输出至浏览器(类似于在浏览器中有可点击下载该excel文件的操作)的函数,代码实现:function browser_e旌忭檀挢xport($type, $filename){ if ($type == 'Excel3') { //输出EXCEL2003格式 header('Content-Type:application/vnd.ms-excel'); } else{ //输出EXCEL2007格式 header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); } //设置文件名 header('Content-Disposition:attachment;filename="'.$filename.'"'); //禁止缓存 header('Cache-Control:max-age=0');}
5、按照指定格式生成excel文件,并输出至浏览器,代码实现://按照指定格式生产Excel文件$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');//输出到浏览器browser_export('Excel2007', 'testexport.xlsx');$objWriter->save("php://output");
6、输出至浏览器样式