php导出excel接口,php导出Excel应用

// 导出考核统计

function daochu(){

require_once 'outExcel.class.php';

header("Content-Type: application/vnd.ms-excel;charset=utf-8");

$kaoheCode = $_GET['kaoheCode'];

$dao = new PerformanceServices();

$kaoheinfo = $dao->getKaoheInfo($kaoheCode);

$filename=$kaoheinfo['KH_NAME']."考核统计";

$encoded_filename = urlencode($filename);

$encoded_filename = str_replace("+", "%20", $encoded_filename);

$ua = $_SERVER["HTTP_USER_AGENT"];

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

if (preg_match("/MSIE/", $ua)) {

header('Content-Disposition: attachment; filename="' . $encoded_filename . '.xls"');

} else if (preg_match("/Firefox/", $ua)) {

header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '.xls"');

} else {

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

}

header("Pragma: no-cache");

header("Expires: 0");

$dates_excel = $dao->getTongjiInfo($kaoheCode);

$mytime = date("Y-m-d H:i:s",$dates_excel['KH_TIME']);

$excel=new SimpleExcel();//调用类开始

$excel->excelItem(array("统计时间",$mytime));//第一行标题,可以不要

$excel->excelItem(array("序号","姓 名","部门","分数"));//第一行标题,可以不要

$excel->colsAttrib(array("1","a","a","1"));//定义属性,数字型为"1",字符型为"a"

$scores = explode(',',$dates_excel['KH_SCORES']);

//echo $scores;exit();

$i=0;

foreach ($scores as $v){

$i++;

$r = explode(':', $v);

$userCode = $r[0];

$user = $dao->getUserInfo($userCode);

$dept=$dao->getCellName($userCode);

$excel->excelWrite(array($i,$user['QT_NAME'],$dept,$r[1]));

}

$excel->excelEnd();

}

以下是excel类 outExcel.class.php

class SimpleExcel

{

var $rowsNum=0;

var $attrib=array();

var $in_charset = 'UTF-8';

function SimpleExcel()

{

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

return;

}

function excelItem($string=array())

{

for ($i=0;$i

{

$curStr = $string[$i];

$curStr = $this->iconvToData($curStr);

$L = strlen($curStr);

echo pack("ssssss",0x204,8+$L,$this->rowsNum,$i,0x0,$L);

echo $curStr;

}

$this->rowsNum++;

return;

}

function colsAttrib($string=array())

{

$this->attrib=$string;

return;

}

function excelWrite($string=array())

{

for ($i=0;$i

{

$curStr = $string[$i];

$curStr = $this->iconvToData($curStr);

if ($this->attrib[$i]=="1")

{

echo pack("sssss",0x203,14,$this->rowsNum,$i,0x0);

echo pack("d",$curStr);

} else {

$L = strlen($curStr);

echo pack("ssssss",0x204,8+$L,$this->rowsNum,$i,0x0,$L);

echo $curStr;

}

}

$this->rowsNum++;

}

function excelEnd()

{

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

return;

}

function iconvToData($data)

{

return iconv($this->in_charset,'gb2312',$data);

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值