500错误如何解决
一地枫叶 2014-04-14 01:08:24
"NetworkError: 500 Internal Server Error - http://192.16
下面是代码
$end=$_POST['end'];
if(substr($end,5,5)=="12-30" || substr($end,5,5)=="12-31")
{
$w=53;
}
else
{
$w=date('W',strtotime($_POST['end']));
}
include_once '../../lib/PHPExcel/PHPExcel.php';
include_once '../../lib/PHPExcel/PHPExcel/IOFactory.php';
include_once '../../lib/PHPExcel/PHPExcel/Writer/Excel5.php';
include_once '../../lib/PHPExcel/PHPExcel/Writer/IWriter.php';
include_once '../../lib/PHPExcel/PHPExcel/Worksheet/Drawing.php';
$phpob=new PHPExcel();
$sheetob=$phpob->getActiveSheet();
$sheetob->setTitle("Yield Sum");
$sheetob->setCellValue("A1","Project")
->setCellValue("B1","Total in")
->setCellValue("C1","Total out")
->setCellValue("D1","Yield")
->setCellValue("E1","")
->setCellValue("F1","test in")
->setCellValue("G1","test out")
->setCellValue("H1","Yield")
->setCellValue("I2","");
$biaoti="J";
for($ii=1;$ii<=$w;$ii++)
{
$sheetob->setCellValue($biaoti."1","week".$ii);
$biaoti++;
}
/* set fill color*/
$sheetob->getStyle("A1")->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$sheetob->getStyle("A1")->getFill()->getStartColor()->setARGB("9999CCFF");
/* set borders*/
$sheetob->getStyle("A1")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("A1")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("A1")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("A1")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
/* copy style*/
$sheetob->duplicateStyle($sheetob->getStyle("A1"),"B1:".$biaoti."1");
$products=array();
foreach($_POST['product'] as $key=>$value)
{
$productname=$this->dao->select('name')->from('zt_product')->where('id')->eq($value)->fetch();
$products[$value]=$productname->name;
}
$s=2;
foreach($products as $key=>$value1)
{ $total=0;
$pass=0;
$ss=0;
if(!isset($_POST['module'.$key]))
{
$ss++;
$ss++;
$s++;
$s++;
}
foreach($_POST['module'.$key] as $k=>$value)
{
$ss++;
$ss++;
$mtotal=0;
$mpass=0;
$modulename=$this->loadModel('product')->getmodulebyid($value);
$idarr=$this->dao->select("id,name")->from('zt_project')->where('module')->eq($value)->fetchAll();
$arrid=array();
foreach($idarr as $k1=>$v)
{
$arrid[]=$v->id;
}
$re=$this->dao->select('total,pass,week')->from('zt_upyield')->where('project')->in($arrid)->andWhere('date')->between($_POST['start'],$_POST['end'])->fetchGroup('week');
$sss="J";
for($i=1;$i<=$w;$i++)
{
$wpass=0;
$wtotal=0;
if(isset($re[$i]))
{
foreach($re[$i] as $kkk=>$vvv)
{
$total+=$vvv->total;
$pass+=$vvv->pass;
$mtotal+=$vvv->total;
$mpass+=$vvv->pass;
$wtotal+=$vvv->total;
$wpass+=$vvv->pass;
}
$sheetob->setCellValue("$sss$s",$wtotal);
$sheetob->setCellValue("$sss".($s+1),sprintf('%.2f',$wpass/$wtotal*100)."%");
$sheetob->getStyle("$sss$s")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("$sss$s")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("$sss$s")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("$sss$s")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->duplicateStyle($sheetob->getStyle("$sss$s"),"$sss".($s+1));
}
else
{
$sheetob->setCellValue("$sss$s","");
$sheetob->setCellValue("$sss".($s+1),"");
$sheetob->getStyle("$sss$s")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("$sss$s")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("$sss$s")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("$sss$s")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->duplicateStyle($sheetob->getStyle("$sss$s"),"$sss".($s+1));
}
$sss++;
}
$sheetob->setCellValue("I$s","Test In");
$sheetob->setCellValue("I".($s+1),"Yield");
$sheetob->mergeCells("H$s:H".($s+1))->setCellValue("H$s",Sprintf('%.2f',$mpass/$mtotal*100)."%");
$sheetob->mergeCells("G$s:G".($s+1))->setCellValue("G$s",$mpass);
$sheetob->mergeCells("F$s:F".($s+1))->setCellValue("F$s",$mtotal);
$sheetob->mergeCells("E$s:E".($s+1))->setCellValue("E$s",$modulename->name);
/*set borders*/
$sheetob->getStyle("I$s")->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("I$s")->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("I$s")->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("I$s")->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
/* copy style*/
$sheetob->duplicateStyle($sheetob->getStyle("I$s"),"I".($s+1));
$sheetob->duplicateStyle($sheetob->getStyle("I$s"),"E$s:H".($s+1));
$s++;
$s++;
}
/* set value*/
$sheetob->mergeCells("A".($s-$ss).":A".($s-1))->setCellValue("A".($s-$ss),"$value1");
$sheetob->mergeCells("B".($s-$ss).":B".($s-1))->setCellValue("B".($s-$ss),"$total");
$sheetob->mergeCells("C".($s-$ss).":C".($s-1))->setCellValue("C".($s-$ss),"$pass");
$sheetob->mergeCells("D".($s-$ss).":D".($s-1))->setCellValue("D".($s-$ss),Sprintf('%.2f',$pass/$total*100)."%");
/* set style*/
$sheetob->getStyle("A".($s-$ss))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$sheetob->getStyle("A".($s-$ss))->getfont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
/* set borders*/
$sheetob->getStyle("A".($s-$ss))->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("A".($s-$ss))->getBorders()->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("A".($s-$ss))->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$sheetob->getStyle("A".($s-$ss))->getBorders()->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
/* set fill color*/
$sheetob->getStyle("A".($s-$ss))->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$sheetob->getStyle("A".($s-$ss))->getFill()->getStartColor()->setARGB("00339966");
/*copy style*/
$sheetob->duplicateStyle($sheetob->getStyle("A".($s-$ss)),"B".($s-$ss).":D".($s-1));
}
$wob=PHPExcel_IOFactory::createWriter($phpob,"Excel5");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header("Content-Disposition:attachment;filename='yieldsum.xls'");
header("Content-Transfer-Encoding:binary");
$wob->save("php://output");