php mysql导出excel表格数据_php mysql数据导出到excel文件

感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。

经测试代码如下:

/**

* MysqL数据导出到excel文件

*

* @param

* @arrange (512.笔记) jb51.cc

**/

$dbhost = "127.0.0.1:3306";

$dbuser = "XXXXX";

$dbpass = "XXXXX";

$dbname = "XXXXX";

$dbtable = "XXXXX";

// END CHANGING STUFF

//我们要做的第一件事就是写一些函数来写出来

//和excel文件。 这些函数做了一些十六进制写作,老实说我得到了

//他们来自其他地方,但是嘿它有效,所以我不打算质疑它

//只是重用

// This one makes the beginning of the xls file

function xlsBOF() {

echo pack("ssssss",0x809,0x8,0x0,0x10,0x0);

return;

}

// This one makes the end of the xls file

function xlSEOF() {

echo pack("ss",0x0A,0x00);

return;

}

// this will write text in the cell you specify

function xlsWriteLabel($Row,$Col,$Value ) {

$L = strlen($Value);

echo pack("ssssss",0x204,8 + $L,$Row,$L);

echo $Value;

return;

}

// make the connection an DB query

$dbc = MysqL_connect( $dbhost,$dbuser,$dbpass ) or die( MysqL_error() );

MysqL_select_db( $dbname );

$q = "SELECT * FROM ".$dbtable."";

$qr = MysqL_query( $q ) or die( MysqL_error() );

// Ok now we are going to send some headers so that this

// thing that we are going make comes out of browser

// as an xls file.

//

header("Pragma: public");

header("Expires: 0");

header("Cache-Control: must-revalidate,post-check=0,pre-check=0");

header("Content-Type: application/force-download");

header("Content-Type: application/octet-stream");

header("Content-Type: application/download");

//this line is important its makes the file name

header("Content-Disposition: attachment;filename=export_".$dbtable.".xls ");

header("Content-Transfer-Encoding: binary ");

// start the file

xlsBOF();

// these will be used for keeping things in order.

$col = 0;

$row = 0;

// This tells us that we are on the first row

$first = true;

while( $qrow = MysqL_fetch_assoc( $qr ) )

{

// Ok we are on the first row

// lets make some headers of sorts

if( $first )

{

foreach( $qrow as $k => $v )

{

// take the key and make label

// make it uppper case and replace _ with ' '

xlsWriteLabel( $row,$col,strtoupper( ereg_replace( "_"," ",$k ) ) );

$col++;

}

// prepare for the first real data row

$col = 0;

$row++;

$first = false;

}

// go through the data

foreach( $qrow as $k => $v )

{

// write it out

xlsWriteLabel( $row,$v );

$col++;

}

// reset col and goto next row

$col = 0;

$row++;

}

xlSEOF();

exit();

/*** 来自:编程之家 jb51.cc(jb51.cc) ***/

?>

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值