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导出结束
?>