>백엔드 개발 >PHP 튜토리얼 >PHPExcel生成图表

PHPExcel生成图表

WBOY
WBOY원래의
2016-06-23 13:27:421684검색

PHPExcel下载

自带的例子:



生成折线图示例:

<?php $dir = dirname(__FILE__);	require $dir."/db.php";	require $dir."/PHPExcel.php";	$db = new db($phpexcel);	$objPHPExcel = new PHPExcel();	$objSheet = $objPHPExcel->getActiveSheet();	$data = array(		array("","一班","二班","三班"),		array("不及格",20,30,40),		array("良好",30,50,70),		array("优秀",14,12,30)	);	$objSheet->fromArray($data);	//图表	$labels = array(		new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$1',null,1),//一班		new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$C$1',null,1),//二班		new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$D$1',null,1),//三班	);	$xLabels = array(		new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$2:$A$4',null,3),//取x轴刻度	);	$datas = array(		new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$2:$B$4',null,3),//取一班数据		new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$C$2:$C$4',null,3),//取二班数据		new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$D$2:$D$4',null,3),//取三班数据	);	$series = array(		new PHPExcel_Chart_DataSeries(			PHPExcel_Chart_DataSeries::TYPE_LINECHART,			PHPExcel_Chart_DataSeries::GROUPING_STANDARD,			range(0, count($labels)-1),			$labels,			$xLabels,			$datas		)	); //图表框架	$layout=new PHPExcel_Chart_Layout();	$layout->setShowVal(true);	$areas = new PHPExcel_Chart_PlotArea($layout,$series);	$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_RIGHT,$layout,false);	$title = new PHPExcel_Chart_Title("高一学生成绩分布");	$ytitle = new PHPExcel_Chart_Title("人数");	$chart = new PHPExcel_Chart('line_chart',$title,$legend,$areas,true,false,null,$ytitle);	$chart->setTopLeftPosition("A7")->setBottomRightPosition("K25"); //图表位置	$objSheet->addChart($chart);	$excel = 'Excel2007';	$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$excel);	$objWriter->setIncludeCharts(true); //图表必须	// $objWriter->save($dir.'/export.xls'); //生成excel文件	browser_export($excel,"browser_chart.xlsx"); //浏览器输出	SaveViaTempFile($objWriter);	function browser_export($type, $filename){		if($type == "Excel5"){			header('Content-Type: application/vnd.ms-excel'); //excel2003		}else{			header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //excel2007		}		header('Content-Disposition: attachment;filename="'.$filename.'"');		header('Cache-Control: max-age=0');	}	/*解决Excel2007不能导出*/	function SaveViaTempFile($objWriter){	    $filePath = dirname(__FILE__) . rand(0, getrandmax()) . rand(0, getrandmax()) . ".tmp";	    $objWriter->save($filePath);	    readfile($filePath);	    unlink($filePath);	}			


效果图:

参考文章:

PHPExcel 

PHPExcel+MySQL 

PHPExcel样式

版权声明:本文为博主原创文章,未经博主允许不得转载。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.