使用PHPExcel导出Excel表


Posted in PHP onSeptember 08, 2018

本文实例为大家分享了PHPExcel导出Excel表的具体代码,供大家参考,具体内容如下

/**
   * Excel导出
   * @param $fileName(文件名)
   * @param $headArr (表头)
   * @param $data  (每一行的数据)
   * @throws \PHPExcel_Exception
   * @throws \PHPExcel_Reader_Exception
   */
  function getExcel($fileName,$headArr,$data){
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel.php");
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel/Writer/Excel2007.php");
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel/Writer/Excel5.php");
    include_once (THINK_PATH."Library/Vendor/phpexcel/PHPExcel/IOFactory.php");
    if(empty($data) || !is_array($data)){
      die("data must be a array");
    }
    if(empty($fileName)){
      exit;
    }
    $date = date("Y_m_d",time());
    $fileName .= "_{$date}.xlsx";
 
    //创建新的PHPExcel对象
    $objPHPExcel = new \PHPExcel();
    $objProps = $objPHPExcel->getProperties();
 
    //设置表头
    $key = ord("A");
    $key2 = ord("A");
    $colum2 = '';
    $objActSheet = $objPHPExcel->getActiveSheet();
    $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25);
    foreach($headArr as $v){
      $colum = chr($key);
      $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum2.$colum.'1', $v);
      if($key < 90){
        $key += 1;
      }else{
        $key = ord("A");
        $colum2 = chr($key2);
        $key2++;
      }
    }
    //exit;
    $column = 2;
 
    foreach($data as $key => $rows){ //行写入
      $span = ord("A");
      $span2 = ord("A");
      $j2 = '';
      foreach($rows as $keyName=>$value){// 列写入
        $j = chr($span);
        //$objActSheet->setCellValue($j.$column, $value);
        //把每个单元格设置成分文本类型
        //dump($j2.$j.$column);
        $objActSheet->setCellValueExplicit($j2.$j.$column,$value,\PHPExcel_Cell_DataType::TYPE_STRING);
 
        if($span < 90){
          $span += 1;
        }else{
          $span = ord("A");
          $j2 = chr($span2);
          $span2++;
        }
      }
      $column++;
    }
    // exit;
    $fileName = iconv("utf-8", "gb2312", $fileName);
    //重命名表
    $objPHPExcel->getActiveSheet()->setTitle('Simple');
    //设置活动单指数到第一个表,所以Excel打开这是第一个表
    $objPHPExcel->setActiveSheetIndex(0);
    //将输出重定向到一个客户端web浏览器(Excel2007)
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header("Content-Disposition: attachment; filename=\"$fileName\"");
    header('Cache-Control: max-age=0');
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
//    if(!empty($_GET['excel'])){
//      $objWriter->save('php://output'); //文件通过浏览器下载
//    }else{
//      $objWriter->save($fileName); //脚本方式运行,保存在当前目录
//    }
    $objWriter->save('php://output');
    exit;
 
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
3
Oct 09 PHP
珊瑚虫IP库浅析
Feb 15 PHP
PHP读取XML值的代码(推荐)
Jan 01 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
ThinkPHP中RBAC类的四种用法分析
Nov 24 PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 PHP
PHP使用递归算法无限遍历数组示例
Jan 13 PHP
PHP封装的完整分页类示例
Aug 21 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
Sep 29 PHP
laravel5实现微信第三方登录功能
Dec 06 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
thinkPHP5.0框架事务处理操作简单示例
Sep 07 #PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 #PHP
php curl优化下载微信头像的方法总结
Sep 07 #PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 #PHP
PHP日志LOG类定义与用法示例
Sep 06 #PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 #PHP
php JWT在web端中的使用方法教程
Sep 06 #PHP
You might like
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
python属于解释语言吗
2020/06/11 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
谷歌浏览器小字体处理方案即12px以下字体
2013/12/17 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
关键字final的用法
2013/10/02 面试题
一个SQL面试题
2014/08/21 面试题
档案接收函
2014/01/13 职场文书
村官工作鉴定评语
2014/01/27 职场文书
个人作风剖析材料
2014/02/02 职场文书
文秘应届生求职信
2014/07/05 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
思想政治表现评语
2015/01/04 职场文书
Python PIL按比例裁剪图片
2022/05/11 Python