使用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 相关文章推荐
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
Nov 04 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
Dec 05 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
PHP中的替代语法介绍
Jan 09 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
php获取汉字拼音首字母的方法
Oct 21 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
简要剖析PHP的Yii框架的组件化机制的基本知识
Mar 17 PHP
PHP实现的函数重载功能示例
Aug 03 PHP
PHP7匿名类的用法示例
Apr 05 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 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配置参数总结
2013/06/14 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
JS获取input file绝对路径的方法(推荐)
2016/08/02 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
2018/10/29 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
python列表操作之extend和append的区别实例分析
2015/07/28 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
Python2包含中文报错的解决方法
2018/07/09 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
Django项目uwsgi+Nginx保姆级部署教程实现
2020/04/19 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
浅谈html5增强的页面元素
2016/06/14 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
html5给汉字加拼音加进度条的实现代码
2020/04/07 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
英国最大的独立摄影零售商:Park Cameras
2019/11/27 全球购物
写给学生的新学期寄语
2014/01/18 职场文书
行政介绍信范文
2015/05/04 职场文书
2016春节放假通知范文
2015/08/18 职场文书
Python激活Anaconda环境变量的详细步骤
2021/06/08 Python
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis