使用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自动加载机制的深入分析
Jun 08 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
PHP中使用imagick实现把PDF转成图片
Jan 26 PHP
PHP实现算式验证码和汉字验证码实例
Mar 09 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
php.ini中date.timezone设置详解
Nov 20 PHP
PHP并发查询MySQL的实例代码
Aug 09 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
php xhprof使用实例详解
Apr 15 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 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安全提问算法
2007/06/06 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
thinkPHP模板中for循环与switch语句用法示例
2016/11/30 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
vue 判断两个时间插件结束时间必选大于开始时间的代码
2020/11/04 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python OS模块常用函数说明
2015/05/23 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
Python os.access()用法实例
2019/02/18 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
电子信息专业学生自荐信
2013/11/09 职场文书
区域销售经理岗位职责
2013/12/10 职场文书
管理专员自荐信
2014/01/26 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
教师反腐倡廉演讲稿
2014/09/03 职场文书
运动会广播稿100字
2014/09/14 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
文明礼仪倡议书
2015/04/28 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
运动员加油词
2015/07/18 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android