首页 > 编程 > PHP > 正文

PHPExcel生成图表

2020-03-22 18:54:42
字体:
来源:转载
供稿:网友
PHPExcel下载

自带的例子:



生成折线图示例:

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-html' target='_blank'>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样式

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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表