当前位置:Gxlcms > php框架 > 使用PHPExcel实现数据批量导出为excel表格的方法(必看)

使用PHPExcel实现数据批量导出为excel表格的方法(必看)

时间:2021-07-01 10:21:17 帮助过:7人阅读

首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法。

下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子

前台页面 比较简单,就是一个超链接,跳转到处理页面,超链接也可以跟一些参数(看需求)!

  1. <a href="./Process1.php" rel="external nofollow" >导出excel表格</a>

后台Process.php页面

  1. /**
  2. * 批量导出数据
  3. * @param $arr 从数据库查询出来,即要导出的数据
  4. * $name excel表歌名
  5. */
  6. function expExcel($arr,$name){
  7. require_once 'PHPExcel.php';
  8. //实例化
  9. $objPHPExcel = new PHPExcel();
  10. /*右键属性所显示的信息*/
  11. $objPHPExcel->getProperties()->setCreator("zxf") //作者
  12. ->setLastModifiedBy("zxf") //最后一次保存者
  13. ->setTitle('数据EXCEL导出') //标题
  14. ->setSubject('数据EXCEL导出') //主题
  15. ->setDescription('导出数据') //描述
  16. ->setKeywords("excel") //标记
  17. ->setCategory("result file"); //类别
  18. //设置当前的表格
  19. $objPHPExcel->setActiveSheetIndex(0);
  20. // 设置表格第一行显示内容
  21. $objPHPExcel->getActiveSheet()
  22. ->setCellValue('A1', '业主姓名')
  23. ->setCellValue('B1', '密码')
  24. ->setCellValue('C1', '手机号码')
  25. ->setCellValue('D1', '地址')
  26. //设置第一行为红色字体
  27. ->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
  28. $key = 1;
  29. /*以下就是对处理Excel里的数据,横着取数据*/
  30. foreach($arr as $v){
  31. //设置循环从第二行开始
  32. $key++;
  33. $objPHPExcel->getActiveSheet()
  34. //Excel的第A列,name是你查出数组的键值字段,下面以此类推
  35. ->setCellValue('A'.$key, $v['name'])
  36. ->setCellValue('B'.$key, $v['pwd'])
  37. ->setCellValue('C'.$key, $v['phone'])
  38. ->setCellValue('D'.$key, $v['address']);
  39. }
  40. //设置当前的表格
  41. $objPHPExcel->setActiveSheetIndex(0);
  42.    ob_end_clean(); //清除缓冲区,避免乱码
  43. header('Content-Type: application/vnd.ms-excel'); //文件类型
  44. header('Content-Disposition: attachment;filename="'.$name.'.xls"'); //文件名
  45. header('Cache-Control: max-age=0');
  46. header('Content-Type: text/html; charset=utf-8'); //编码
  47. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel 2003
  48. $objWriter->save('php://output');
  49. exit;
  50. }
  51. /***********调用**********************/
  52. header("Content-type:text/html;charset=utf-8");
  53. //链接数据库
  54. $link = @mysql_connect('localhost','root','') or die('连接数据库失败');
  55. mysql_select_db('test',$link);
  56. mysql_query('set names utf8');
  57. //先获取数据
  58. $sql = "select * from house";
  59. $res = mysql_query($sql);
  60. $arr = array();
  61. //把$res=>$arr,把结果集内容转移到一个数组中
  62. while ($row = mysql_fetch_assoc($res)){
  63. $arr[] = $row;
  64. }
  65. //excel表格名
  66. $name = "用户表";
  67. //调用
  68. expExcel($arr,$name)

使用PHPExcel导出数据至此完毕,对于使用PHPExcel导入到数据库可以参看使用PHPExcel实现数据批量上传到数据库

以上这篇使用PHPExcel实现数据批量导出为excel表格的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

人气教程排行