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

php导出mysql数据库中为excel代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 10:42:02 浏览: 评论:0 

SQL数据库代码如下:

  1. SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
  2. -- 
  3. -- 数据库: `mysqlnew` 
  4. -- 
  5. -- --------------------------------------------------------
  6. -- 
  7. -- 表的结构 `test` 
  8. -- 
  9. CREATE TABLE IF NOT EXISTS `test` ( 
  10.   `id` int(10) NOT NULL auto_increment, 
  11.   `websitename` varchar(200) character set utf8 NOT NULL, 
  12.   `websiteurl` varchar(200) character set utf8 NOT NULL, 
  13.   PRIMARY KEY  (`id`) 
  14. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ; 
  15.  
  16. -- 
  17. -- 导出表中的数据 `test` 
  18. -- 
  19.  
  20. INSERT INTO `test` (`id`, `websitename`, `websiteurl`) VALUES 
  21. (1, '百度''http://www.baidu.com'), 
  22. (5, 'google''http://www.google.com'), 
  23. (4, '400电话''http://www.phpfensi.com'), 
  24. (6, '搜狗''www.sogou.com'), 
  25. (7, '必应''http://www.phpfensi.com'); 

php实例文件代码如下:

  1. <?php
  2. function xlsBOF() { 
  3.     echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0); 
  4.     return
  5.  
  6. function xlsEOF() { 
  7.     echo pack("ss", 0x0A, 0x00); 
  8.     return
  9.  
  10. function xlsWriteNumber($Row$Col$Value) { 
  11.     echo pack("sssss", 0x203, 14, $Row$Col, 0x0); 
  12.     echo pack("d"$Value); 
  13.     return
  14.  
  15. function xlsWriteLabel($Row$Col$Value ) { 
  16.     $L = strlen($Value); 
  17.     echo pack("ssssss", 0x204, 8 + $L$Row$Col, 0x0, $L); 
  18.     echo $Value
  19.     return
  20.  
  21. /** 
  22.  *添加头部信息 
  23.  * @param <type> $rsRec 
  24.  */ 
  25. function addheader($rsRec) { 
  26.     $fieldLen = mysql_num_fields($rsRec); 
  27.     xlsBOF(); 
  28.     $iCell = 0; 
  29.     for($i=0;$i<$fieldLen;$i++) { 
  30.         $fieldname = mysql_field_name($rsRec$i); 
  31.         xlsWriteLabel(0,$iCell++, iconv("utf-8""gb2312"$fieldname)); 
  32.     } 
  33.  
  34.  
  35.  
  36. /** 
  37.  *添加记录信息 
  38.  * @param <type> $rsRec 
  39.  */ 
  40. function addData($rsRec) { 
  41.     $xlsRow=1; 
  42.     $fieldLen = mysql_num_fields($rsRec); 
  43.     while($rsone=mysql_fetch_object($rsRec)) { 
  44.         $iCell = 0; 
  45.         for($i=0;$i<$fieldLen;$i++) { 
  46.             $fieldname = mysql_field_name($rsRec$i); 
  47.             $fieldnameValue = $rsone->$fieldname
  48.             xlsWriteLabel($xlsRow,$iCell++,iconv("utf-8""gb2312"$fieldnameValue)); 
  49.         } 
  50.  
  51.         $xlsRow++; 
  52.     } 
  53.     xlsEOF(); 
  54.     exit
  55.  
  56. if(isset($_POST["tableName"])) { 
  57.  
  58.     $con = mysql_connect("localhost""root""vertrigo"); 
  59.  
  60.     $result=mysql_db_query("mysqlnew","select * from ".$_POST["tableName"]); 
  61.  
  62. // 文件头 
  63.     header("Pragma: public"); 
  64.     header("Expires: 0"); 
  65.     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
  66.     header("Content-Type: application/force-download"); 
  67.     header("Content-Type: application/octet-stream"); 
  68.     header("Content-Type: application/download"); 
  69.     header("Content-Disposition: attachment;filename=test.xls "); 
  70.     header("Content-Transfer-Encoding: binary "); 
  71.  
  72. // 向表中添加数据 
  73.     addheader($result) ; 
  74.     addData($result) ; 
  75.  
  76.     mysql_close($con); 
  77.  
  78.  
  79. ?> 
  80. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
  81. <html> 
  82.     <head> 
  83.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
  84.         <title>excel信息导出</title> 
  85.     </head> 
  86.     <body> 
  87.         <div> 
  88.             <form name="form1" method="post" action="" onSubmit=""
  89.                 <input type="text" name="tableName" value="" /> 
  90.                 <br> 
  91.                  
  92.                 <input class="ccc" name="" type="submit" value="提交" /> 
  93.             </form> 
  94.         </div> 
  95.     </body> 
  96. </html> 

生成excel文件内容:

id websitename websiteurl     

1 百度 http://www.baidu.com

5 google http://www.google.com

4 400电话 http://www.phpfensi.com

6 搜狗 www.sogou.com

7 必应 http://www.phpfensi.com

Tags: PHP导出excel mysql数据库导出excel

分享到: