当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP中利用PHPExcel导出Excel示例

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-27 11:20:37 浏览: 评论:0 

在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

Tags: PHPExcel PHP导出Excel

分享到: