PHPExcel 生成图形报表

db.php为数据库操作类, $config为数据库配置,PHPExcel版本为PHPExcel_1.8.0,  PHP代码:

$dir = dirname(__FILE__);
require $dir . "/PHPExcel/db.php";
require $dir . "/PHPExcel/PHPExcel.php";
$object = new PHPExcel();
$db = new db($config);
$objSheet = $object->getActiveSheet();

//生成表格
$array = array(
    array("", "一班", "二班", "三班",),
    array("不及格", 20, 30, 40),
    array("良好", 30, 50, 55),
    array("优秀", 15, 17, 20)
);
$objSheet->fromArray($array);

//取出每个班级成绩的所在列
$dataseriesLabels = 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),    //    三班
);

//不及格、良好、优秀所在单元格
$xAxisTickValues = array(
    new PHPExcel_Chart_DataSeriesValues(‘String‘, ‘Worksheet!$A$2:$A$5‘, NULL, 4),    //    A2 to A5
);

//取出每个班级成绩数据的所在列
$dataSeriesValues = array(
    new PHPExcel_Chart_DataSeriesValues(‘Number‘, ‘Worksheet!$B$2:$B$5‘, NULL, 4),
    new PHPExcel_Chart_DataSeriesValues(‘Number‘, ‘Worksheet!$C$2:$C$5‘, NULL, 4),
    new PHPExcel_Chart_DataSeriesValues(‘Number‘, ‘Worksheet!$D$2:$D$5‘, NULL, 4),
);

$series = new PHPExcel_Chart_DataSeries(
    PHPExcel_Chart_DataSeries::TYPE_LINECHART,        // 制图类型
    PHPExcel_Chart_DataSeries::GROUPING_STACKED,    // plotGrouping
    range(0, count($dataSeriesValues)-1),            // plotOrder
    $dataseriesLabels,                                // plotLabel
    $xAxisTickValues,                                // plotCategory
    $dataSeriesValues                                // plotValues
);

//    Set the series in the plot area
$plotarea = new PHPExcel_Chart_PlotArea(NULL, array($series));
//    Set the chart legend
$legend = new PHPExcel_Chart_Legend(PHPExcel_Chart_Legend::POSITION_TOPRIGHT, NULL, false);

$title = new PHPExcel_Chart_Title(‘测试制作线性图‘);
$yAxisLabel = new PHPExcel_Chart_Title(‘Value ($k)‘);

//    Create the chart
$chart = new PHPExcel_Chart(
    ‘chart1‘,        // name
    $title,            // title
    $legend,        // legend
    $plotarea,        // plotArea
    true,            // plotVisibleOnly
    0,                // displayBlanksAs
    NULL,            // xAxisLabel
    $yAxisLabel        // yAxisLabel
);

//设置图形的所在区域
$chart->setTopLeftPosition(‘A7‘);
$chart->setBottomRightPosition(‘H20‘);

$objSheet->addChart($chart);

header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet‘);
header(‘Content-Disposition: attachment;filename="03simple.xlsx"‘);
header(‘Cache-Control: max-age=0‘);

$objWriter = PHPExcel_IOFactory::createWriter($object, ‘Excel2007‘);
$objWriter->setIncludeCharts(TRUE);
$objWriter->save(‘php://output‘);

效果图:

时间: 2024-10-10 16:37:50

PHPExcel 生成图形报表的相关文章

java三步 在线生成图形报表-maven-jfreechat

本篇博客采用  jfreechat 直接生成图形报表. 首先maven项目需要引入包. <dependency> <groupId>org.jfree</groupId> <artifactId>jfreechart</artifactId> <version>1.0.19</version> </dependency> 然后在web.xml配置: <servlet> <servlet-nam

完整的thinphp+phpexcel实现excel报表的输出(有图有效果)

准备工作:1.下载phpexcel1.7.6类包:2.解压至TP框架的ThinkPHP\Vendor目录下,改类包文件夹名为PHPExcel176,目录结构如下图:       编写代码(以一个订单汇总数据为例):  1. 创建数据库及表;  2. 创建tp项目,配置项目的数据库连接,这些基本的就不说了:  3. 在项目的Lib\Action下创建一个新的类文件ExportStatisticsAction.class.php,然后在  index方法中实现excel导出:  4. 导出方法的步骤

Highcharts实现图形报表(我主要实现javaweb开发的图形报表)

官网网址:https://www.hcharts.cn/ 中文版的(参考起来方便,你懂的.):http://www.mamicode.com/info-detail-446038.html 网上已经有很多详细的介绍,这里直接说怎么用了就: 必须引入的三个js插件:http://download.csdn.net/detail/biexiansheng/9744829 进入正题:开始介绍如何使用此插件,完成自己的图形报表 1 <!Doctype html> 2 <html> 3 &l

Nmon工具的使用以及通过nmon_analyse生成分析报表

Nmon工具的使用以及通过nmon_analyse生成分析报表 在我们监控我们的操作系统的时候如果可以把各个硬件的监控信息生成形象化的分析报表图对于我们来说是件太好的事情了,而通过ibm的nom和nmon_analyser两者的结合完全可以实现我们的要求.首先对nmon和nmon_analyser做一个大概介绍. Nmon 是一个分析aix和linux性能的免费工具(其主要是ibm为自己的aix操作系统开发的,但是也可以应用在linux操作系统上),而nmon_analyser是nmon的一个工

生成图形验证码

介绍生成两种类型的图形验证码: 1.普通的随机字符串;  2.随机运算表达式 图形验证码类: /// <summary> /// 图形验证码类 /// </summary> public class PicCaptcha { #region Constructed Methods /// <summary> /// 默认构造方法 /// </summary> public PicCaptcha() { } /// <summary> ///构造方

【PHP】PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数)

[PHP]PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数) 前言 由于业务需要,我们需要从业务中汇总数据,并生成Excel文件. 思路是这样的 PHP要导出Excel表格文件->找一个好用的第三方库吧->在Composer的Packages里找一个吧->PHPExcel这么多收藏,就它了! PHPExcel 概述 PHPExcel is a library written in pure PHP and providing a set of classes th

如何使用jasper生成pdf报表

1.1   iReport与JasperReport简介 JasperReport是报表的引擎部分,界面设计是用iReport. JasperReport是一个报表制作程序,用户按照它制定的规则编写一个XML文件, 然后得到用户需要输出的格式文件.它支持输出的文件格式包括PDF,HTML,XML,XLS,CSV等等. 1.2   工作流程简介 JasperReport的工作流程:首先有个xml文件,从xml文件编译出.jasper类型的文件, 而以后我们真正要使用的就是编译后的jasper文件.

在.NET中使用EPPlus生成Excel报表 .

--摘抄自:http://blog.csdn.net/zhoufoxcn/article/details/14112473 在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的需求,特别是在一些ASP.NET网站中,有时候我们并不能保证Web服务器上一定安装了Office组件,所以使用微软的Office来生成Excel并不保证在所有情况下都使用,有时候即使Web服务器上安装了Office也会出现一些运行权限方面的原因到导致调用Excel组件生成Excel失败,所以在这里介

PHPExcel生成或读取excel文件

以下是详细代码示例: <?php /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释. * 如果使用 Excel5 ,输出的内容应该是GBK编码. */ require_once 'PHPExcel.php';// uncomment ////require_once 'PHPExcel/Writer/Excel5.php'; // 用于其他低版本xls // or ////require_once 'PHPExcel/Writer/Ex