Home  >  Article  >  Backend Development  >  Export assessment statistics php export Excelde application_PHP tutorial

Export assessment statistics php export Excelde application_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 14:53:26709browse

//Export assessment statistics

	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();
	}

The following is the excel class outExcel.class.php

<?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<count($string);$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<count($string);$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);
}
}
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/371395.htmlTechArticle// Export assessment statistics function daochu(){require_once 'outExcel.class.php';header(Content-Type : application/vnd.ms-excel;charset=utf-8);$kaoheCode = $_GET['kaoheCode'];$dao = new Pe...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn