使用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 相关文章推荐
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
PHP+DBM的同学录程序(1)
Oct 09 PHP
由php if 想到的些问题
Mar 22 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
PHP 检查扩展库或函数是否可用的代码
Apr 06 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
php搜索文件程序分享
Oct 30 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
laravel学习教程之存取器
Jul 30 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 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
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
微信支付开发维权通知实例
2016/07/12 PHP
php tpl模板引擎定义与使用示例
2019/08/09 PHP
使用PHP开发留言板功能
2019/11/19 PHP
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
js禁止页面刷新与后退的方法
2015/06/08 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
JS如何实现手机端输入验证码效果
2020/05/13 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
python实现图片识别汽车功能
2018/11/30 Python
python 基于selectors库实现文件上传与下载
2020/12/31 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
工厂保洁员岗位职责
2013/12/04 职场文书
财政专业求职信范文
2014/02/19 职场文书
应用数学专业求职信
2014/03/14 职场文书
财产保全担保书范文
2014/04/01 职场文书
留学顾问岗位职责
2014/04/14 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS
教你一步步实现一个简易promise
2021/11/02 Javascript
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
Python使用openpyxl模块处理Excel文件
2022/06/05 Python