网站地图    收藏   

主页 > php专栏 > php应用 >

PHP中利用PHPExcel导出Excel示例 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 在php中导出excel有一种最简单的方法就是导出csv文件,但要做到真正的导出excel文件我们可以借助于PHPExcel插件来实现.PHPExcel是个很强大的PHP操作Excel的类库,但是对于简单的将数据用PHP 导出...

PHP中利用PHPExcel导出Excel示例

在php中导出excel有一种最简单的方法就是导出csv文件,但要做到真正的导出excel文件我们可以借助于PHPExcel插件来实现.

PHPExcel是个很强大的PHP操作Excel的类库,但是对于简单的将数据用PHP 导出 Excel来说这有点显得复杂,在google code上有一个PHP 导出 Excel的类,可以简单调用,很方便.

PHP中利用PHPExcel导出Excel示例代码如下:

  1. <?php 
  2. // load library 
  3. require 'php-excel.class.php'
  4. // create a simple 2-dimensional array 
  5. $data = array
  6.         1 => array ('Name''Surname'), 
  7.         array('Schwarz''Oliver'), 
  8.         array('Test''Peter'
  9.         ); 
  10. // generate file (constructor parameters are optional) 
  11. $xls = new Excel_XML('UTF-8', false, 'My Test Sheet'); 
  12. $xls->addArray($data); 
  13. $xls->generateXML('my-test'); 
  14. ?> 

例2,代码如下:

  1. <?php 
  2. /** 
  3.  * PHPEXCEL生成excel文件 
  4.  * @author:firmy 
  5.  * @desc 支持任意行列数据生成excel文件,暂未添加单元格样式和对齐 
  6.  */ 
  7.  
  8. require_once 'library/PHPExcel.php'
  9. require_once 'library/PHPExcel/Reader/Excel2007.php'
  10. require_once 'library/PHPExcel/Reader/Excel5.php'
  11. include_once 'library/PHPExcel/IOFactory.php'
  12.  
  13. $fileName = "test_excel"
  14. $headArr = array("第一列","第二列","第三列"); 
  15. $data = array(array(1,2),array(1,3),array(5,7)); 
  16. getExcel($fileName,$headArr,$data); 
  17.  
  18.  
  19. function getExcel($fileName,$headArr,$data){ 
  20.     if(emptyempty($data) || !is_array($data)){ 
  21.         die("data must be a array"); 
  22.     } 
  23.     if(emptyempty($fileName)){ 
  24.         exit
  25.     } 
  26.     $date = date("Y_m_d",time()); 
  27.     $fileName .= "_{$date}.xlsx"
  28.  
  29.     //创建新的PHPExcel对象 
  30.     $objPHPExcel = new PHPExcel(); 
  31.     $objProps = $objPHPExcel->getProperties(); 
  32.  
  33.     //设置表头 
  34.     $key = ord("A"); 
  35.     foreach($headArr as $v){ 
  36.         $colum = chr($key); 
  37.         $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1'$v); 
  38.         $key += 1; 
  39.     } 
  40.      
  41.     $column = 2; 
  42.     $objActSheet = $objPHPExcel->getActiveSheet(); 
  43.     foreach($data as $key => $rows){ //行写入 
  44.         $span = ord("A"); 
  45.         foreach($rows as $keyName=>$value){// 列写入 
  46.             $j = chr($span); 
  47.             $objActSheet->setCellValue($j.$column$value); 
  48.             $span++; 
  49.         } 
  50.         $column++; 
  51.     } 
  52.  
  53.     $fileName = iconv("utf-8""gb2312"$fileName); 
  54.     //重命名表 
  55.     $objPHPExcel->getActiveSheet()->setTitle('Simple'); 
  56.     //设置活动单指数到第一个表,所以Excel打开这是第一个表 
  57.     $objPHPExcel->setActiveSheetIndex(0); 
  58.     //将输出重定向到一个客户端web浏览器(Excel2007) 
  59.           header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
  60.           header("Content-Disposition: attachment; filename="$fileName""); 
  61.           header('Cache-Control: max-age=0'); 
  62.           $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');//开源代码phpfensi.com 
  63.           if(!emptyempty($_GET['excel'])){ 
  64.             $objWriter->save('php://output'); //文件通过浏览器下载 
  65.         }else
  66.           $objWriter->save($fileName); //脚本方式运行,保存在当前目录 
  67.         } 
  68.   exit
  69.  
  70. ?> 

phpexcel类的下载地址:http://php-excel.googlecode.com/files/php-excel-v1.1-20090910.zip

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论