码迷,mamicode.com
首页 > 数据库 > 详细

PHP导出Mysql数据到Excel

时间:2014-12-07 19:08:19      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   os   sp   for   on   

临时需要将Mysql中一张表导出成Excel表格,有个phpexcel的插件可以用,我觉得有点麻烦,况且我是临时要备份的,就直接自己写了。

<?php 
/*连接数据库*/
 $DB_Server = "ServerIP";
 $DB_Username = "UserName"; 
 $DB_Password = "PassWord"; 
 $DB_DBName = "DBname";  //目标数据库名
$DB_TBLName = "TableName";  //目标表名

$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn‘t connect."); 
 mysql_query("set names utf8"); 

$savename = date("YmjHis"); //导出excel文件名
$file_type = "vnd.ms-excel"; 
 $file_ending = "xls"; 
 header("Content-Type: application/$file_type;charset=utf-8"); 
 header("Content-Disposition: attachment; filename=".$savename.".$file_ending"); 
header("Pragma: no-cache"); 

/*写入备注信息*/
 $now_date = date("Y-m-j H:i:s"); 
 $title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date"; 
 echo iconv("utf-8","gbk",$title)."\n"; 

/*查询数据库*/
 $sql = "Select * from $DB_TBLName"; 
 $ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn‘t select database"); 
 $result = @mysql_query($sql,$Connect) or die(mysql_error()); 

/*写入表字段名*/
for ($i = 0; $i < mysql_num_fields($result); $i++) { 
  
  echo mysql_field_name($result,$i) . "\t"; 
 } 
 echo "\n";

/*写入表数据*/
 $sep = "\t"; 
 while($row = mysql_fetch_row($result)) { 
  $data = ""; 
   for($i=0; $i<mysql_num_fields($result);$i++) { 
    if(!isset($row[$i])) 
     $data .= "NULL".$sep; //处理NULL字段
   elseif ($row[$i] != ""){
     $datmp=iconv("utf-8", "gbk",$row[$i]);
     $data .= $datmp.$sep; 
   }
    else 
     $data .= "".$sep; //处理空字段
  } 
  echo $data."\n"; 
 }
 ?> 

好了,这样直接访问这个php文件就可以将指定的表中数据导出了。

PHP导出Mysql数据到Excel

标签:style   blog   io   ar   color   os   sp   for   on   

原文地址:http://www.cnblogs.com/mediciyan/p/4149678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!