加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中运用PHPExcel导出Excel示例

发布时间:2022-02-11 00:47:07 所属栏目:PHP教程 来源:互联网
导读:在php中导出excel有一种最简单的方法就是导出csv文件,但要做到真正的导出excel文件我们可以借助于PHPExcel插件来实现. PHPExcel是个很强大的PHP操作Excel的类库,但是对于简单的将数据用PHP 导出 Excel来说这有点显得复杂,在google code上有一个PHP 导出 Ex
  在php中导出excel有一种最简单的方法就是导出csv文件,但要做到真正的导出excel文件我们可以借助于PHPExcel插件来实现.
 
  PHPExcel是个很强大的PHP操作Excel的类库,但是对于简单的将数据用PHP 导出 Excel来说这有点显得复杂,在google code上有一个PHP 导出 Excel的类,可以简单调用,很方便.
 
  PHP中利用PHPExcel导出Excel示例代码如下:
 
  <?php
  // load library
  require 'php-excel.class.php';
  // create a simple 2-dimensional array
  $data = array(
          1 => array ('Name', 'Surname'),
          array('Schwarz', 'Oliver'),
          array('Test', 'Peter')
          );
  // generate file (constructor parameters are optional)
  $xls = new Excel_XML('UTF-8', false, 'My Test Sheet');
  $xls->addArray($data);
  $xls->generateXML('my-test');
  ?>
  例2,代码如下:
 
  <?php
  /**
   * PHPEXCEL生成excel文件
   * @author:firmy
   * @desc 支持任意行列数据生成excel文件,暂未添加单元格样式和对齐
   */
  
  require_once 'library/PHPExcel.php';
  require_once 'library/PHPExcel/Reader/Excel2007.php';
  require_once 'library/PHPExcel/Reader/Excel5.php';
  include_once 'library/PHPExcel/IOFactory.php';
  
  $fileName = "test_excel";
  $headArr = array("第一列","第二列","第三列");
  $data = array(array(1,2),array(1,3),array(5,7));
  getExcel($fileName,$headArr,$data);
  
  
  function getExcel($fileName,$headArr,$data){
      if(emptyempty($data) || !is_array($data)){
          die("data must be a array");
      }
      if(emptyempty($fileName)){
          exit;
      }
      $date = date("Y_m_d",time());
      $fileName .= "_{$date}.xlsx";
  
      //创建新的PHPExcel对象
      $objPHPExcel = new PHPExcel();
      $objProps = $objPHPExcel->getProperties();
  
      //设置表头
      $key = ord("A");
      foreach($headArr as $v){
          $colum = chr($key);
          $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v);
          $key += 1;
      }
       
      $column = 2;
      $objActSheet = $objPHPExcel->getActiveSheet();
      foreach($data as $key => $rows){ //行写入
          $span = ord("A");
          foreach($rows as $keyName=>$value){// 列写入
              $j = chr($span);
              $objActSheet->setCellValue($j.$column, $value);
              $span++;
          }
          $column++;
      }
  
      $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');//开源代码Cuoxin.com
            if(!emptyempty($_GET['excel'])){
              $objWriter->save('php://output'); //文件通过浏览器下载
          }else{
            $objWriter->save($fileName); //脚本方式运行,保存在当前目录
          }
    exit;
  
  }
  ?>
  phpexcel类的下载地址:http://php-excel.googlecode.com/files/php-excel-v1.1-20090910.zip

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读