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


Posted in PHP onJune 09, 2017

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

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

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

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

后台Process.php页面

/**
* 批量导出数据
* @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表格的方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
php创建多级目录代码
Jun 05 PHP
php防止伪造的数据从URL提交方法
Jun 27 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
PHP程序员的技术成长规划
Mar 25 PHP
php简单随机字符串生成方法示例
Apr 19 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
php链式操作的实现方式分析
Aug 12 PHP
基于laravel belongsTo使用详解
Oct 18 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 #PHP
php使用crypt()函数进行加密
Jun 08 #PHP
微信封装的调用微信签名包的类库
Jun 08 #PHP
微信公众号实现会员卡领取功能
Jun 08 #PHP
php图像验证码生成代码
Jun 08 #PHP
php面向对象的用户登录身份验证
Jun 08 #PHP
php实现用户注册密码的crypt加密
Jun 08 #PHP
You might like
简单的PHP留言本实例代码
2010/05/09 PHP
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
php中用memcached实现页面防刷新功能
2014/08/19 PHP
php实现图片局部打马赛克的方法
2015/02/11 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
JS 树形递归实例代码
2010/05/18 Javascript
基于jquery的跨域调用文件
2010/11/19 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
JS实现自适应高度表单文本框的方法
2015/02/25 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
本科毕业生求职自荐信
2014/02/03 职场文书
商业项目策划方案
2014/06/05 职场文书
党员一帮一活动总结
2014/07/08 职场文书
打架检讨书
2015/01/27 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
导游词之日月潭
2019/11/05 职场文书
理解python中装饰器的作用
2021/07/21 Python