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

PHP导出Excel实例讲解

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-07 10:28:01 浏览: 评论:0 

本次实现PHP导出Excel文件使用的是PHP开源程序PHPExcel,部分关键代码分享给大家,具体内容如下:

  1. <?php 
  2. error_reporting(E_ALL); 
  3. date_default_timezone_set('Asia/Shanghai'); 
  4. require_once './Classes/PHPExcel.php'
  5. $data=array
  6.   0=>array
  7.     'id'=>1001, 
  8.  
  9.     'username'=>'张飞'
  10.     'password'=>'123456'
  11.     'address'=>'三国时高老庄250巷101室' 
  12.   ), 
  13.   1=>array
  14.     'id'=>1002, 
  15.     'username'=>'关羽'
  16.     'password'=>'123456'
  17.     'address'=>'三国时花果山' 
  18.   ), 
  19.   2=>array
  20.     'id'=>1003, 
  21.     'username'=>'曹操'
  22.     'password'=>'123456'
  23.     'address'=>'延安西路2055弄3号' 
  24.   ), 
  25.   3=>array
  26.     'id'=>1004, 
  27.     'username'=>'刘备'
  28.     'password'=>'654321'
  29.     'address'=>'愚园路188号3309室' 
  30.   ) 
  31. ); 
  32. $objPHPExcel=new PHPExcel(); 
  33. $objPHPExcel->getProperties()->setCreator('https://www.jb51.net'
  34.                ->setLastModifiedBy('https://www.jb51.net'
  35.                ->setTitle('Office 2007 XLSX Document'
  36.                ->setSubject('Office 2007 XLSX Document'
  37.                ->setDescription('Document for Office 2007 XLSX, generated using PHP classes.'
  38.                ->setKeywords('office 2007 openxml php'
  39.  
  40.                ->setCategory('Result file'); 
  41.  
  42. $objPHPExcel->setActiveSheetIndex(0) 
  43.  
  44.       ->setCellValue('A1','ID'
  45.  
  46.       ->setCellValue('B1','用户名'
  47.  
  48.       ->setCellValue('C1','密码'
  49.  
  50.       ->setCellValue('D1','地址'); 
  51.  
  52. $i=2;      
  53.  
  54. foreach($data as $k=>$v){ 
  55.  
  56.   $objPHPExcel->setActiveSheetIndex(0) 
  57.       ->setCellValue('A'.$i,$v['id']) 
  58.       ->setCellValue('B'.$i,$v['username']) 
  59.       ->setCellValue('C'.$i,$v['password']) 
  60.       ->setCellValue('D'.$i,$v['address']); 
  61.  
  62.   $i++; 
  63.  
  64. $objPHPExcel->getActiveSheet()->setTitle('三年级2班'); 
  65.  
  66. $objPHPExcel->setActiveSheetIndex(0); 
  67. $filename=urlencode('学生信息统计表').'_'.date('Y-m-dHis'); 
  68.    
  69. //生成xlsx文件 
  70. /* 
  71. header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 
  72. header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"'); 
  73. header('Cache-Control: max-age=0'); 
  74. $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); 
  75. */ 
  76.  
  77. //生成xls文件 
  78. header('Content-Type: application/vnd.ms-excel'); 
  79. header('Content-Disposition: attachment;filename="'.$filename.'.xls"'); 
  80. header('Cache-Control: max-age=0'); 
  81. $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel'Excel5'); 
  82. $objWriter->save('php://output'); 
  83. exit

注意:如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,代码类似如下:

查看代码打印

$str=mb_convert_encoding("gb2312","UTF-8",$str);

Tags: PHP导出Excel

分享到: