thinkphp3.

将PHPExcel下载包放在项目\ThinkPHP\Library\Vendor\PHPExcel
thinkphp5 将PHPExcel下载包放在项目\vendor\PHPExcel (调整后的PHPExcel在文末有下载链接) 在控制器中
use PHPExcel_IOFactory;
use PHPExcel;

在方法中
public function exportData()
{   vendor("PHPExcel.PHPExcel.PHPExcel");
  vendor("PHPExcel.PHPExcel.Writer.Excel5");
  vendor("PHPExcel.PHPExcel.Writer.Excel2007");
  vendor("PHPExcel.PHPExcel.IOFactory");   //导出条件 (以下获取数据的方法是thinkphp3.2,thinkphp5自行调整)
  $status = trim(I('get.status'));
  $starttime = trim(I('get.starttime'));
  $endtime = trim(I('get.endtime'));
  $map = array();   if($status != '' && $status != 0){
    $map['status'] = $status;
  }
  if($starttime != '' && $endtime == ''){
    $map['create_time'] = array('gt', strtotime($starttime.' 00:00:00'));
  }
  if($endtime != '' && $starttime == ''){
    $map['create_time'] = array('lt', strtotime($endtime.' 23:59:59'));
  }
  if($starttime != '' && $endtime != '') {
    $map['create_time'] = array(array('gt', strtotime($starttime.' 00:00:00')), array('lt', strtotime($endtime.' 23:59:59')));
  }
 
  $data = M('order')->where($map)->order('id desc')->select();   $title = '订单列表'.date('YmdHis',time()); //定义文件名   $objPHPExcel = new \PHPExcel();   // 表头
  $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A1', '订单号')
        ->setCellValue('B1', '商品名称')
        ->setCellValue('C1', '支付金额')
        ->setCellValue('D1', '商品数量')
        ->setCellValue('E1', '手机号')
        ->setCellValue('F1', '创建时间')
        ->setCellValue('G1', '支付状态');   foreach($data as $k => $v){
    if($v['status'] == 2){
      $v['status'] = '已支付';
    } else if($v['status'] == 1) {
      $v['status'] = '未支付';
    }
    $v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
    $objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($k + 2), $v['order_sn']."\t"); //订单号太长无法正常显示,在后面加空格
    $objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($k + 2), $v['title']);
    $objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($k + 2), $v['money']);
    $objPHPExcel->getActiveSheet(0)->setCellValue('D' . ($k + 2), $v['num']);
    $objPHPExcel->getActiveSheet(0)->setCellValue('E' . ($k + 2), $v['phone']);
    $objPHPExcel->getActiveSheet(0)->setCellValue('F' . ($k + 2), $v['create_time']);
    $objPHPExcel->getActiveSheet(0)->setCellValue('G' . ($k + 2), $v['status']);
  }   //设置excel单元格的宽
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(20);
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(10);
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(20);
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(20);
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(25);
  $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('G')->setWidth(10);   $objPHPExcel->getActiveSheet()->setTitle($title); //设置sheet的名称
  $objPHPExcel->setActiveSheetIndex(0); //设置sheet的起始位置
  $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //通过PHPExcel_IOFactory的写函数将上面数据写出来
  $PHPWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel,"Excel2007");
  header('Content-Type: application/vnd.ms-excel');
  header('Content-Disposition: attachment;filename="'.$title.'.xlsx"');
  header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  $PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件
  exit;
}

 点击PHPExcel下载链接

thinkphp使用PHPExcel导出的更多相关文章

  1. ThinkPhp 使用PhpExcel导出导入多语言文件

    在ThinkPHP 里已经实现了多语言功能,只要在指定的目录下创建对应的语言文件并填充内容,即可实现多语言功能 而多语言的翻译却是一个很麻烦的事情,因为客户特定的行业问题导致我们翻译可能是不准确的 于 ...

  2. Thinkphp解决phpExcel导出数据量大导致内存溢出

    工作需要导出几万的数据量.操作比较频繁.之前数据在七八千是数据导出很慢.phpExcel是方便但是性能一般.现在改为使用csv导出数据:可以缓解内存压力,一次导出两三万是没问题的.当然服务器内存给力, ...

  3. ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

    这篇文章主要介绍了ThinkPHP使用PHPExcel实现Excel数据导入导出,非常实用的功能,需要的朋友可以参考下 本文所述实例是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方 ...

  4. THINKPHP扩展PHPEXCEL,PHP7.2以上版本无法导出Excel

     THINKPHP扩展PHPEXCEL与PHP7.3高版本兼容问题 框架:THINKPHP5,PHPEXCEL版本:1.81 无法导出EXCEL原因为Shared/OLE.php第290行使用cont ...

  5. PHPExcel导出excel文件

    今天园子刚开,先来个货顶下,后续园丁qing我会再慢慢种园子的,希望大家多来园子逛逛. PHPExcel导出excel文件,先说下重要的参数要记住的东西 impUser() 导入方法 exportEx ...

  6. phpExcel导出excel加超级链接的实例代码[转]

    phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...

  7. 利用PHPExcel导出excel 以及利用js导出excel

    导出excel的方法output_excel需要依赖PHPExcel 导出csv的方法csv_export不需要 <?php /** * @author ttt */ class ExcelCo ...

  8. php利用phpexcel导出数据

    php中利用phpexcel导出数据的实现代码.对phpexcel类库不熟悉的朋友,可以阅读下<phpexcel中文帮助手册>中的内容,具体实例大家可以phpexcel快速开发指南中的相关 ...

  9. 关于PHPExcel 导出下载表格,调试器响应乱码

    PHPExcel导出表格是日常程序开发很常见的一功能,有些小伙伴千辛万苦把代码写好之后,运行一下结果发现浏览器没反应,表格下载不了或者表格乱码!!!像这种情况有三种解决方法: 1.在header 之前 ...

随机推荐

  1. Python——逻辑运算(or,and)

    print(0 and 2 > 1) #结果0 print(0 and 2 < 1) #结果0 print(1 and 2 > 1) #结果True print(1 and 2 &l ...

  2. Linux 学习 (九) 网络基础

    Linux网络管理 学习笔记 ISO/OSI 七层模型 ISO :国际标准化组织 OSI :开放系统互联模型 应用层.表示层.会话层服务于用户 传输层.网络层.数据链路层.物理层服务于实际数据传输 帧 ...

  3. 解决mysql中文乱码问题 在url后面添加?characterEncoding=utf8

  4. mongoDB 大文件存储方案, JS 支持展示

    文件存储 方式分类 传统方式 存储路径 仅存储文件路径, 本质为 字符串 优点: 节省空间 缺点: 不真实存储在数据库, 文件或者数据库发送变动需要修改数据库 存储文件本身 将文件转换成 二进制 存储 ...

  5. Mysql相关知识点梳理(一):优化查询

    EXPLAIN解析SELECT语句执行计划: EXPLAIN与DESC同义,通过它可解析MySQL如何处理SELECT,提供有关表如何联接和联接的次序,还可以知道什么时候必须为表加入索引以得到一个使用 ...

  6. Day039--HTML

    HTML小马哥博客 HTML CSS + DIV实现整体布局 1. HTML 超文本标记语言 对换行不敏感 空白折叠现象 标签要严格密封 新建HTML文件,输入 html:5,按tab键后,自动生成的 ...

  7. Gym - 101350G Snake Rana(容器原理)

    Old Macdonald wants to build a new hen house for his hens. He buys a new rectangular area of size N  ...

  8. MySQL_列值为null对索引的影响_实践

    一.首先看一个我在某公众号看到的一个关于数据库优化的举措 二.如果where子句中查询的列执行了 “is null” 或者 “is not null” 或者 “<=> null” 会不会使 ...

  9. DirectX11 With Windows SDK--15 几何着色器初探

    前言 从这一部分开始,感觉就像是踏入了无人深空一样,在之前初学DX11的时候,这部分内容都是基本上跳过的,现在打算重新认真地把它给拾回来. DirectX11 With Windows SDK完整目录 ...

  10. [再寄小读者之数学篇](2014-06-20 求极限---Jordan 不等式的应用)

    证明: 当 $\lm<1$ 时, $\dps{\lim_{R\to+\infty} R^\lm\int_0^{\pi/2} e^{-R\sin\tt}\rd \tt=0}$. 证明: 由 $$\ ...