mysql 导出 excel odbc_Mysql数据库导出替Excel(ODBC驱动)

PHP codecurrDir = dirname(__FILE__);

}

/* 获取Mysql的列名称 */

public function getSrcColumn(){

$handle = @mysql_connect($this->host,$this->username,$this->pwd);

$this->srcColumn = array();

if(is_bool($handle)){

echo "====**====

";

echo "Mysql连接出错.

文件:".(__FILE__)."

行号:".(__LINE__)."

错误:".mysql_error();

echo "

====**====

";

exit(0);

}

$ret = @mysql_select_db($this->dbName,$handle);

if($handle == FALSE){

echo "====**====

";

echo "Mysql选择数据库出错.

文件:".(__FILE__)."

行号:".(__LINE__)."

错误:".mysql_error();

echo "

====**====

";

exit(0);

}

$ret = @mysql_query('describe '.$this->tbName,$handle);

if(is_bool($ret)){

echo "====**====

";

echo "Mysql语句执行出错.

文件:".(__FILE__)."

行号:".(__LINE__)."

错误:".mysql_error();

echo "

====**====

";

exit(0);

}

while(($data = mysql_fetch_array($ret)) != FALSE){

array_push($this->srcColumn,$data['Field']);

}

mysql_free_result($ret);

mysql_close($handle);

return $this->srcColumn;

}

/* 获取指定的Mysql数据库表中的内容 */

public function getSrcData(){

$handle = @mysql_connect($this->host,$this->username,$this->pwd);

$this->srcData = array();

if(is_bool($handle)){

echo "====**====

";

echo "Mysql连接出错.

文件:".(__FILE__)."

行号:".(__LINE__)."

错误:".mysql_error();

echo "

====**====

";

exit(0);

}

$ret = @mysql_select_db($this->dbName,$handle);

if($handle == FALSE){

echo "====**====

";

echo "Mysql选择数据库出错.

文件:".(__FILE__)."

行号:".(__LINE__)."

错误:".mysql_error();

echo "

====**====

";

exit(0);

}

$ret = @mysql_query('select * from '.$this->tbName,$handle);

if(is_bool($ret)){

echo "====**====

";

echo "Mysql语句执行出错.

文件:".(__FILE__)."

行号:".(__LINE__)."

错误:".mysql_error();

echo "

====**====

";

exit(0);

}

while(($data = mysql_fetch_array($ret)) != FALSE){

array_push($this->srcData,$data);

}

mysql_free_result($ret);

mysql_close($handle);

return $this->srcData;

}

/* 主力部分 将Mysql数据库中的内容导出为Excel文件 */

public function m2Xls(){

$handle = odbc_connect("Driver={MicroSoft Excel Driver (*.xls)};READONLY=false;CREATE_DB=\"".$this->xlsName."\";Dbq=".$this->xlsName,"","");

$sql = 'create table '.$this->tbName.'(';

foreach($this->srcColumn as $value){

$sql .= ($value." text,");

}

$sql = substr($sql,0,strlen($sql)-1);

$sql .= ")";

$ret = odbc_exec($handle,$sql);

//以上内容是创建一个Excel文件 并将Mysql的列转移到Excel文件中去。

foreach($this->srcData as $value){

$sql = 'insert into ['.$this->tbName.'$] values(';

for($i=0;$ihost = $host;

$this->username = $username;

$this->pwd = $pwd;

$this->dbName = $dbName;

$this->tbName = $tbName;

}

/* 设置Excel数据库的名称 */

public function setXlsName($xlsName){

$this->xlsName = $this->currDir."\\".$xlsName.".xls";

return $this->xlsName;

}

}

/*以下部分是测试功能的,可删除*/

header("Content-Type:text/html;charset=UTF-8");

$mysql2xls = new mysql2Xls();

$mysql2xls->setMysqlArgs('localhost','root','******','others','zhuifeng');

$mysql2xls->setXlsName('test');

$mysql2xls->getSrcColumn();

$mysql2xls->getSrcData();

$mysql2xls->m2Xls();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值