首页 > 开发 > PHP > 正文

php导出生成excel表格几种方法介绍

2024-05-04 21:58:19
字体:大 中 小
来源:转载
供稿:网友

利用php导出excel我们大多会直接生成 csv文件,这种方便快捷如果不是要求很高,完全可以利用csv 来实例了,这是最简单的了,代码如下:

  1. <?php  
  2. header("Content-type:application/vnd.ms-excel"); 
  3. header("Content-Disposition:attachment;filename=test_data.xls"); 
  4.  
  5. $tx=’表头’;    
  6. echo   $tx."nn";    
  7. //输出内容如下:    
  8. echo   "姓名"."t";    
  9. echo   "年龄"."t";    
  10. echo   "学历"."t";    
  11. echo   "n";    
  12. echo   "张三"."t";    
  13. echo   "25"."t";    
  14. echo   "本科"."t";    
  15. ?> 

如果你一定要输入xls标准的excel文件可参考下面方法,代码如下:

  1. /**  
  2.  * 输出XLS的头信息  
  3.  * 注:使用此函数前后都不应有任何数据输出 
  4.  * @param $data Array 下载的数据   
  5.  * @param $file_name String 下载的文件名  
  6.  */ 
  7.  
  8. function outputXlsHeader($data,$file_name = 'export') 
  9. { 
  10.  header('Content-Type: text/xls');  
  11.  header ( "Content-type:application/vnd.ms-excel;charset=utf-8" ); 
  12.  $str = mb_convert_encoding($file_name, 'gbk', 'utf-8');    
  13.  header('Content-Disposition: attachment;filename="' .$str . '.xls"');       
  14.  header('Cache-Control:must-revalidate,post-check=0,pre-check=0');  
  15.  header('Expires:0');          
  16.  header('Pragma:public'); 
  17.  $table_data = '<table border="1">';  
  18.  foreach ($data as $line)          
  19.  { 
  20.   $table_data .= '<tr>'; 
  21.   foreach ($line as $key => &$item) 
  22.   { 
  23.    $item = mb_convert_encoding($item, 'gbk', 'utf-8');  
  24.    $table_data .= '<td>' . $item . '</td>'; 
  25.   } 
  26.   $table_data .= '</tr>'; 
  27.  } 
  28.  $table_data .='</table>'; 
  29.  echo $table_data;     
  30.  die(); 
  31. } 

下面还推荐一下第三方的做法.

引用google code中推荐的小类库(大体同方法一,比较复杂点):http://code.google.com/p/php-excel/downloads/list

PHPEXCEL 类库,功能强大,支持win Excel2003 ,Win Excel2007.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表