使用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 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
php 常用字符串函数总结
Mar 15 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
PHP常用处理静态操作类
Apr 03 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
php opendir()列出目录下所有文件的实例代码
Oct 02 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 PHP
PHP实现时间日期友好显示实现代码
Sep 08 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
培养自己的php编码规范
2015/09/28 PHP
php实现微信支付之现金红包
2018/05/30 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
Prototype Class对象学习
2009/07/19 Javascript
javascript 面向对象编程基础:封装
2009/08/21 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
Python中的自省(反射)详解
2015/06/02 Python
Python中文字符串截取问题
2015/06/15 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
解决Djang2.0.1中的reverse导入失败的问题
2019/08/16 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
Python插件机制实现详解
2020/05/04 Python
俄罗斯品牌服装和鞋子在线商店:BRIONITY
2020/03/26 全球购物
高中毕业生的个人自我评价
2014/02/21 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
雷锋的故事观后感
2015/06/10 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电