使用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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
php实现的简单压缩英文字符串的代码
Apr 24 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
php中json_encode UTF-8中文乱码的更好解决方法
Sep 28 PHP
ThinkPHP模版中导入CSS和JS文件的方法
Nov 29 PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 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
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
php GeoIP的使用教程
2011/03/09 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
Mootools 1.2教程 事件处理
2009/09/15 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
浅析return false的正确使用
2013/11/04 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
详解react、redux、react-redux之间的关系
2018/04/11 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python实现扫描日志关键字的示例
2018/04/28 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
关于迟到的检讨书
2014/01/26 职场文书
揠苗助长教学反思
2014/02/04 职场文书
超市国庆节促销方案
2014/02/20 职场文书
马智宇婚礼主持词
2014/03/22 职场文书
环保志愿者活动方案
2014/08/14 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
python中urllib包的网络请求教程
2022/04/19 Python