下面小编就为大家带来一篇使用phpexcel实现数据批量导出为excel表格的方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
首先需要下载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表格的方法的详细内容。