excelUntil:
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ('Content-type: application/x-msexcel');
header ("Content-Disposition: attachment; filename=EmplList.xls" );
header ("Content-Description: PHP/INTERBASE Generated Data" );
//Excel導出開始
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
//excel導出結束
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
//導出文字格式
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
// 導出文本格式
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
//設置標題值
function setTitleValue($titleList){
$leg = count($titleList);
if($leg !=0){
for ($i = 0; $i < $leg; $i++) {
xlsWriteLabel(0,$i,mb_convert_encoding($titleList[$i],"gb2312","utf-8"));
}
}
}
//excel內容輸出設置
function setValues($dateList){
if(count($dateList) !=0){
for ($i = 0; $i < count($dateList); $i++) {
$list = $dateList[$i];
$leg = count($list);
if ($leg !=0){
for ($j = 0; $j < $leg; $j++) {
$value = $list[$j];
if(is_numeric($value)){//輸出類型是數字
xlsWriteNumber($i+1,$j,$value);
}else{//text類型的輸出
xlsWriteLabel($i+1,$j,mb_convert_encoding($value,"gb2312","utf-8"));
}
}
}
}
}
}
?>
調用的PHP:
<?php
require_once ('../../common/excelUntil.php');//導入excelUntil
require_once('../adminGlobal.inc.php'); //引入後台全局文件
/*權限驗證*/
require(ABSPATH . 'admin/include/head.inc.php'); //引入head內容
require(ABSPATH . 'admin/include/navigation.inc.php'); //引入head內容
$titleList = array('序號','服務噄1�7','數據莊1�7','用戶各1�7','備份策略');//excel標題
$sql = "SELECT * FROM zxb_db";
$result = $mysqlObj->query($sql);
$rows = $mysqlObj->getRows($result);
$dataList = array();
if(count($rows) >0){
for ($i = 0; $i < count($rows); $i++) {
$db = $rows[$i];
$serverId = $db['server_id'];
if($serverId){
$row = $mysqlObj->getById("zxb_db_server", $serverId); //取得丄1�7條記彄1�7
$db_server_name = $row['db_server_name'];
}
$list = array($i+1,$db_server_name,$db['db_name'],$db['user'],$db['bak_strategy']);
$dataList[$i]=$list;
}
}
xlsBOF();//excel導出弄1�7姄1�7
setTitleValue($titleList);//導出標題
setValues($dataList);//導出數據
xlsEOF();//excel導出結束
?>