<?php

date_default_timezone_set('PRC');

$filename="info.xls";//先定义一个excel文件

header("Content-Type: application/vnd.ms-execl");
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0"); //我们先在excel输出表头,当然这不是必须的
echo iconv("utf-8", "gb2312", "编号")."\t";
echo iconv("utf-8", "gb2312", "姓名")."\t";
echo iconv("utf-8", "gb2312", "年龄")."\t";
echo iconv("utf-8", "gb2312", "性别")."\n";//注意这个要换行 //这里我们定义一个数据库为datebse 数据库用户名:root 密码为:123456
$conn = mysql_connect("localhost","root","");
mysql_select_db("thinkphp");
mysql_query("set names utf8");
//在这里我们定义一个名叫studen的表,她有id,name,age,sex四个字段
$sql="select id,name,age,sex from student";
$result=mysql_query($sql);
while($row =mysql_fetch_array($result)){
echo iconv("utf-8", "gb2312", $row['id'])."\t";
echo iconv("utf-8", "gb2312", $row['name'])."\t";
echo iconv("utf-8", "gb2312", $row['age'])."\t";
echo iconv("utf-8", "gb2312", $row['sex'])."\n";
}

2.用PHPExcel 库导出,需要下载PHPExcel库支持。

<?php
/** PHPExcel */
require_once '../lib/PHPExcel/PHPExcel.php'; // Create new PHPExcel object
$objPHPExcel = new PHPExcel(); // Set properties
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")
->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")
->setCategory("Test result file");
$objPHPExcel->getActiveSheet()->mergeCells('A1:N1');
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//$objPHPExcel->getActiveSheet()->getStyle('A2')->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth();
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(18);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(21);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(15); $objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '中奖信息表')
->setCellValue('A2', '姓名')
->setCellValue('B2', '性别')
->setCellValue('C2', '奖项')
->setCellValue('D2', '活动名称')
->setCellValue('E2', '中奖时间')
->setCellValue('F2', '媒体人/非媒体人')
->setCellValue('G2', '所属媒体')
->setCellValue('H2', '职位')
->setCellValue('I2', '电话号码')
->setCellValue('J2', '电子邮箱')
->setCellValue('K2', '身份证号')
->setCellValue('L2', '生日')
->setCellValue('M2', '总积分')
->setCellValue('N2', '绑定时间'); //数据库连接
$db = mysql_connect("localhost", "root", "");
mysql_select_db("df_xtl",$db); //选择数据库,这里为"ywcl"。
mysql_query("SET NAMES UTF8"); //设定编码方式为UTF8 $sDate = '20101010';
$lDate = '20151010'; $sql="SELECT a.inter_time,a.prize,b.birthday,b.email,b.identity_card,b.media_name,b.position,b.reg_time,b.reporter_name,b.sex,b.sum_score,b.telphone,b.group_info,c.inter_name FROM `interaction` a,media b,interact_menu c
WHERE a.openid = b.openid and a.inter_time>= '".$sDate."' and a.inter_time <= '".$lDate."' and a.inter_name=c.id";
//echo $sql;
//$sql ="select * from media";
$result=mysql_query($sql);
$num=mysql_num_rows($result);
if ($num>0)
{
$count=2;
while($data=mysql_fetch_array($result))
{
$count+=1;
$l1="A"."$count";
$l2="B"."$count";
$l3="C"."$count";
$l4="D"."$count";
$l5="E"."$count";
$l6="F"."$count";
$l7="G"."$count";
$l8="H"."$count";
$l9="I"."$count";
$l10="J"."$count";
$l11="K"."$count";
$l12="L"."$count";
$l13="M"."$count";
$l14="N"."$count";
if($data['sex'] == 0){
$data['sex'] = '女';
}else{
$data['sex'] = '男';
}
if($data['group_info'] == 'meiti'){
$data['group_info'] ='媒体人';
}else{
$data['group_info'] ='非媒体人';
}
if($data['prize'] ==0){
$data['prize'] ='未中奖';
}else if($data['prize'] ==1){
$data['prize'] ='一等奖';
}else if($data['prize'] ==2){
$data['prize'] ='二等奖';
}else if($data['prize'] ==3){
$data['prize'] ='三等奖';
} $objPHPExcel->setActiveSheetIndex(0)
->setCellValue($l1, $data['reporter_name'])
->setCellValue($l2, $data['sex'])
->setCellValue($l3, $data['prize'])
->setCellValue($l4, $data['inter_name'])
->setCellValue($l5, $data['inter_time'])
->setCellValue($l6, $data['group_info'])
->setCellValue($l7, $data['media_name'])
->setCellValue($l8, $data['position'])
->setCellValue($l9, $data['telphone'])
->setCellValue($l10, $data['email'])
->setCellValue($l11, $data['identity_card'])
->setCellValue($l12, $data['birthday'])
->setCellValue($l13, $data['sum_score'])
->setCellValue($l14, $data['reg_time']);
}
} // Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('通讯录'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0); // Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="通讯录.xls"');
header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>

  

PHP导出数据到Excel的更多相关文章

  1. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  2. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  3. 使用Open xml 操作Excel系列之二--从data table导出数据到Excel

    由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...

  4. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

  5. MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

  6. php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法

    而关于php的也有,但是大多都是用phpExcel导出的方法或者spreadsheet等类或者控件之类的导出方法,而我所在维护的系统却用很简单的方法,如下,网上很少有讲如何设置要导出数据的EXcel格 ...

  7. NPOI导出数据到Excel

    NPOI导出数据到Excel   前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...

  8. ASP.NET导出数据到Excel 实例介绍

    ASP.NET导出数据到Excel  该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...

  9. C#导出数据到Excel通用的方法类

    导出数据到Excel通用的方法类,请应对需求自行修改. 资源下载列表 using System.Data; using System.IO; namespace IM.Common.Tools { p ...

  10. 一个方便且通用的导出数据到 Excel 的类库

    一个方便且通用的导出数据到 Excel 的类库 起源: 之前在做一个项目时,客户提出了许多的导出数据的需求: 导出用户信息 导出业务实体信息 各种查询都要能导出 导出的数据要和界面上看到的一致 可以分 ...

随机推荐

  1. JS操作cookies方法

    /** * 写入cookies */function setCookie(name, value) { var time = "1d"; //默认一天失效 var strsec = ...

  2. 如何阅读Java源码 阅读java的真实体会

    刚才在论坛不经意间,看到有关源码阅读的帖子.回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心.   说到技术基础,我打个比 ...

  3. Web jquery表格组件 JQGrid 的使用 - 8.Pager、新增数据、查询、刷新、查看数据

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  4. MyBatis源码分析(2)—— Plugin原理

    @(MyBatis)[Plugin] MyBatis源码分析--Plugin原理 Plugin原理 Plugin的实现采用了Java的动态代理,应用了责任链设计模式 InterceptorChain ...

  5. CSS3中的变形处理

    在css3中,可以利用transform功能来实现文字或者图像的旋转.缩放.倾斜.移动这四种类型的变形处理. 旋转 旋转功能使用rotate方法参数中加入角度值,方向为顺时针旋转.示例清单如下: &l ...

  6. 使用Java 多线程编程 让三个线程轮流输出ABC,循环10次后结束

    简要分析: 要求三个线程轮流输出,这里我们要使用一个对象锁,让关键部分的代码放入同步块当中.同时要有一个变量记录打印的次数到达10次循环后不再打印,另外一个就是要给每个线程一个标志号,我们根据标识号来 ...

  7. 每秒执行一个shell脚本(转载)

      上周迁移了一台服务器,发现其中一个项目的数据没有更新,查询原服务器的数据,数据有更新,并找到了rsync服务,从其他服务器传输数据,那么如何找到这台服务器?因为是从远程传输到本地,而且不是很频繁, ...

  8. [Java] jackson注解

    Jackson(http://jackson.codehaus.org)库是基于java语言的开源json格式解析工具.相对于javajson解析的其他库,诸如json-lib.gson包,Jacks ...

  9. Swift3.0P1 语法指南——下标

    原档:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programmi ...

  10. T-SQL实用查询之常用SQL语句

    删除数据库所有的表: declare @sql varchar() begin SELECT @sql='drop table ' + name FROM sysobjects WHERE (type ...