使用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中的实现trim函数代码
Mar 19 PHP
dede全站URL静态化改造[070414更正]
Apr 17 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
Jun 09 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
改写ThinkPHP的U方法使其路由下分页正常
Jul 02 PHP
PHP中Http协议post请求参数
Nov 02 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
深入浅析用PHP实现MVC
Mar 02 PHP
Zend Framework教程之模型Model用法简单实例
Mar 04 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
Oct 14 PHP
php提交表单时保留多个空格及换行的文本样式的方法
Jun 20 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 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
js日期、星座的级联显示代码
2014/01/23 Javascript
easyui validatebox验证
2016/04/29 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
使用Python下载Bing图片(代码)
2013/11/07 Python
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
python中私有函数调用方法解密
2016/04/29 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
python实现简单多人聊天室
2018/12/11 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
python 提取文件指定列的方法示例
2019/08/07 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
AC Lens:购买隐形眼镜
2017/02/26 全球购物
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
中英文求职信范文
2014/01/27 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
乱世佳人观后感
2015/06/08 职场文书
Python  lambda匿名函数和三元运算符
2022/04/19 Python
td 内容自动换行 table表格td设置宽度后文字太多自动换行
2022/12/24 HTML / CSS