zoukankan      html  css  js  c++  java
  • php 图表的操作

    <?php 
    	$dir=dirname(__FILE__);//查找当前脚本所在路径
    	require $dir."/db.php";//引入mysql操作类文件
    	require $dir."/PHPExcel/PHPExcel.php";//引入PHPExcel
    	$db=new db($phpexcel);//实例化db类 连接数据库
    	$objPHPExcel=new PHPExcel();//实例化PHPExcel类, 等同于在桌面上新建一个excel
    	$objSheet=$objPHPExcel->getActiveSheet();//获得当前活动sheet
    	/**本节课程代码编写开始**/
    	$array=array(
    			array("","一班","二班","三班"),
    			array("不及格",20,30,40),
    			array("良好",30,50,55),
    			array("优秀",15,17,20)
    	);//准备数据
    	$objSheet->fromArray($array);//直接加载数组填充进单元格内
    	//开始图表代码编写
    	$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("value(人数)");
    	$chart=new PHPExcel_Chart(
    		'line_chart',
    		$title,
    		$legend,
    		$areas,
    		true,
    		false,
    		null,
    		$ytitle
    	);//生成一个图标
    	$chart->setTopLeftPosition("A7")->setBottomRightPosition("K25");//给定图表所在表格中的位置
    
    	$objSheet->addChart($chart);//将chart添加到表格中
    
    
    
    	$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');//生成excel文件
    	$objWriter->setIncludeCharts(true);
    
    	//$objWriter->save($dir."/export_1.xls");//保存文件
    	browser_export('Excel2007','browser_chart.xlsx');//输出到浏览器
    	$objWriter->save("php://output");
    
    
    	function browser_export($type,$filename){
    		if($type=="Excel5"){
    				header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出excel03文件
    		}else{
    				header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器数据excel07文件
    		}
    		header('Content-Disposition: attachment;filename="'.$filename.'"');//告诉浏览器将输出文件的名称
    		header('Cache-Control: max-age=0');//禁止缓存
    	}
    ?>
    

      

    <?php 
    header("Content-Type:text/html;charset=utf-8");
    $dir=dirname(__FILE__);//找到当前脚本所在路径
    require $dir."/PHPExcel/PHPExcel/IOFactory.php";//引入读取excel的类文件
    $filename=$dir."/export_1.xls";
    $fileType=PHPExcel_IOFactory::identify($filename);//自动获取文件的类型提供给phpexcel用
    $objReader=PHPExcel_IOFactory::createReader($fileType);//获取文件读取操作对象
    $sheetName=array("2年级","3年级");
    $objReader->setLoadSheetsOnly($sheetName);//只加载指定的sheet
    $objPHPExcel=$objReader->load($filename);//加载文件
    /**$sheetCount=$objPHPExcel->getSheetCount();//获取excel文件里有多少个sheet
    for($i=0;$i<$sheetCount;$i++){
    	$data=$objPHPExcel->getSheet($i)->toArray();//读取每个sheet里的数据 全部放入到数组中
    	print_r($data);
    }**/
    foreach($objPHPExcel->getWorksheetIterator() as $sheet){//循环取sheet
    		foreach($sheet->getRowIterator() as $row){//逐行处理
    				if($row->getRowIndex()<2){
    					continue;
    				}
    				foreach($row->getCellIterator() as $cell){//逐列读取
    						$data=$cell->getValue();//获取单元格数据
    						echo $data." ";
    				}
    				echo '<br/>';
    		}
    		echo '<br/>';
    }
    exit;
    ?>
    

      

  • 相关阅读:
    python 函数
    python控制流
    python数据类型转换
    python变量
    chardet查看字符串的编码(非常好用)
    python编码转换
    系统、浏览器兼容性测试注意事项
    python数据类型
    Python二进制转十进制算法、十进转二进制算法
    介绍几个C#正则表达式工具
  • 原文地址:https://www.cnblogs.com/Czc963239044/p/7152267.html
Copyright © 2011-2022 走看看