Heim  >  Artikel  >  Backend-Entwicklung  >  导出考核统计php导出Excelde应用_PHP教程

导出考核统计php导出Excelde应用_PHP教程

WBOY
WBOYOriginal
2016-07-21 14:53:26758Durchsuche

 // 导出考核统计

	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

<?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>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);
}
}
?></count>

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/371395.htmlTechArticle// 导出考核统计 function daochu(){require_once 'outExcel.class.php';header(Content-Type: application/vnd.ms-excel;charset=utf-8);$kaoheCode = $_GET['kaoheCode'];$dao = new Pe...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn