首先去下载PHPExcel类,地址http://phpexcel.codeplex.com/

方法如下第一步引入这个扩展类

 Vendor('PHPExcel');

第二部就是方法了,下面简单的实现方法

     public function phpExcel()
{
// $list=array(array('dfcdf','测试','dfdfdsfd','dfd','dfdf'),array('dfdsf','51策划书','dfdsfd','efed','dfdf'));
$list = session('cash_list');
$phpExcel = new \PHPExcel();
$phpExcel->getProperties()
->setCreator('ShuLaiBao')//创建人
->setLastModifiedBy('ShuLaiBao')//最后修改人
->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');
//设置当前的sheet
$phpExcel->setActiveSheetIndex(0);
//设置表头
$phpExcel->getActiveSheet()
->setCellValue('A1', '用户')
->setCellValue('B1', '微信号')
->setCellValue('C1', '商户订单号')
->setCellValue('D1', '付款订单号')
->setCellValue('E1', '发送时间');
foreach ($list as $key => $value) {
$phpExcel->getActiveSheet()
->setCellValue('A' . ($key + 2), $value['user_login'])
->setCellValue('B' . ($key + 2), $value['re_user_name'])
->setCellValue('C' . ($key + 2), $value['mcn_billno'])
->setCellValue('D' . ($key + 2), $value['payment_no'])
->setCellValue('E' . ($key + 2), date('Y-m-d H:i:s', $value['send_time']));
}
// 设置sheet的标题
$phpExcel->getActiveSheet()->setTitle('发送记录');
// 创建文件格式写入对象实例, uncomment
//$objWriter = PHPExcel_IOFactory::createWriter($phpExcel,'Excel5');
//$objWriter = new \PHPExcel_Writer_Excel5($phpExcel); // 用于其他版本格式
//$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式
$objWriter = new \PHPExcel_Writer_Excel5($phpExcel);
//设置文件名
$filename = date('Y-m-d H:i:s', time()) . '_微信红包发送记录.xls';
//设置header
// ob_clean();
// flush();
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="' . $filename . '"');
header("Content-Transfer-Encoding: binary");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$objWriter->save('php://output');
die();//终止执行
}

PHP实现excel导出的更多相关文章

  1. [moka同学笔记]PHPexcel之excel导出和导入

    原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)

  2. 偷懒小工具 - Excel导出公共类

    说明 最近接了一个任务,就是做一个列表的Excel导出功能.并且有很多页面都会使用这个功能. 导出的Excel大体格式如图 很简单的列表,标题加背景色,然后不同类型,显示方式不一样.对齐方式不一样.不 ...

  3. 转:POI操作Excel导出

    package com.rd.lh.util.excel; import java.beans.PropertyDescriptor; import java.io.FileOutputStream; ...

  4. TP5.0源生Excel导出

    PHPExcel类在TP5里边并不能很好的兼容,使用起来很麻烦. 不像是tp3.2那样直接import()加进来就能new,因为它里边的命名空间找不到.总是说undefined class. 如果是使 ...

  5. java反射学习之二万能EXCEL导出

    一.EXCEL导出的实现过程 假设有一个对象的集合,现在需要将此集合内的所有对象导出到EXCEL中,对象有N个属性:那么我们实现的方式是这样的: 循环这个集合,在循环集合中某个对象的所有属性,将这个对 ...

  6. Devexpress EXCEL导出

    #region EXCEL导出 /// <summary> /// EXCEL导出 /// </summary> /// <param name="saveFi ...

  7. 自己写的java excel导出工具类

    最近项目要用到excel导出功能,之前也写过类似的代码.因为这次项目中多次用到excel导出.这次长了记性整理了一下 分享给大伙 欢迎一起讨论 生成excel的主工具类: public class E ...

  8. 发邮件 和 excel导出中文文件名

    /** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ pu ...

  9. asp.net(C#) Excel导出类 导出.xls文件

    ---恢复内容开始--- using Microsoft.Office.Interop.Excel; 针对office 2003需添加引用Microsoft   Excel   11.0   Obje ...

  10. Atitit.excel导出 功能解决方案 php java C#.net版总集合.doc

    Atitit.excel导出 功能解决方案 php java C#.net版总集合.docx 1.1. Excel的保存格式office2003 office2007/2010格式1 1.2. 类库选 ...

随机推荐

  1. 在mac下使用ppk文件ssh到远程主机

    You can ssh directly from the Terminal on Mac, but you need to use a .PEM key rather than the putty  ...

  2. ANSI、ASCII、GB2312、GBK

    ASCII 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a.b.c.d这样的52个字母(包括大写).以及0.1等数字还有一些常用的符号 ...

  3. Hibernate_day02--Hibernate事务操作_api使用

    Hibernate事务操作 事务相关概念 1 什么是事务 事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败.最典型的场景:银行转账 2 事务特性 原子性 一致性 隔离性 持久 ...

  4. JSP内置对象——application,page,pageContext,config,Exception

    application对象application对象实现了用户数据的共享,可存放全局变量.application开始于服务器的启动,终止于服务器的关闭.在用户的前后链接或不同用户之间的连接中,可以对a ...

  5. 引入外部文件的时候为什么省略http:

    [摘要]相信很多时候大家在使用网上的实例代码的时候,需要引入外部文件,然而它们通常都是省略了http:,这是为什么呢? 先给大家看一个简单的小例子,引入外部jquery文件: <script s ...

  6. .NET 4.0 中的契约式编程

    契约式编程不是一门崭新的编程方法论.C/C++ 时代早已有之.Microsoft 在 .NET 4.0 中正式引入契约式编程库.博主以为契约式编程是一种相当不错的编程思想,每一个开发人员都应该掌握.它 ...

  7. Android实现“退出确认”对话框

    @Override public void onBackPressed() { new AlertDialog.Builder(this).setTitle("确认退出吗?") . ...

  8. 一些VS2013的使用技巧(转载)

    1. Peek View 可以在不新建TAB的情况下快速查看.编辑一个函数的代码. 用法:在光标移至某个函数下,按下alt+F12. 然后在Peek窗口里可以继续按alt+F12.然后按ctrl+al ...

  9. win10系统安装Oracle11报错不满足最低要求

    以下问题是,在安装Oracle过程中遇到的问题以及自己的解决方法: 问题一:下载好两个Oracle的安装压缩包文件,同时解压后,启动setup.exe,报错:[INS-13001]环境不满足最低要求. ...

  10. HDU2276——Kiki & Little Kiki 2

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2276 题目意思:给予一个01字符串,表示一串灯的明亮状态,现在每过一秒,如何这个灯的左边的灯是亮的,我 ...