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

时间:2021-11-02 20:05:38

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

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

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

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

后台Process.php页面

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

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

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