使用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来自动调用不同服务器上的flash
Oct 09 PHP
php 保留小数点
Apr 21 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
ThinkPHP视图查询详解
Jun 30 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
php判断并删除空目录及空子目录的方法
Feb 11 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
PHP getDocNamespaces()函数讲解
Feb 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
深入extjs与php参数交互的详解
2013/06/25 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
php判断linux下程序问题实例
2015/07/09 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
js 获取元素在页面上的偏移量的方法汇总
2015/04/13 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
jQuery ajax MD5实现用户注册即时验证功能
2016/10/11 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python获取任意xml节点值的方法
2015/05/05 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
解决python flask中config配置管理的问题
2019/07/26 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
介绍一下Ruby的特点
2013/01/20 面试题
宿舍违规用电检讨书
2014/02/16 职场文书
岗位廉政承诺书
2014/03/27 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
青涩记忆观后感
2015/06/18 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书