使用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中文本数据翻页(留言本翻页)
Oct 09 PHP
php smarty模版引擎中的缓存应用
Dec 11 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
PHP用SAX解析XML的实现代码与问题分析
Aug 22 PHP
php的zip解压缩类pclzip使用示例
Mar 14 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
PHP 数组基本操作小结(推荐)
Jun 13 PHP
php实现xml与json之间的相互转换功能实例
Jul 07 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
PHP时间相关常用函数用法示例
Jun 03 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限制文件下载速度的代码
2015/10/20 PHP
WordPress的主题编写中获取头部模板和底部模板
2015/12/28 PHP
Javascript 对象的解释
2008/11/24 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
js格式化时间的方法
2015/12/18 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
2017/03/03 Javascript
常用的js方法合集
2017/03/10 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
Vue.js标签页组件使用方法详解
2019/10/19 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
python中对list去重的多种方法
2014/09/18 Python
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python爬虫模拟浏览器访问-User-Agent过程解析
2019/12/28 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
诚信贷款承诺书
2014/05/30 职场文书
幼儿园标语大全
2014/06/19 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
干部理论学习心得体会
2016/01/21 职场文书
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python