首先得把phpexcel扩展的源码拷贝到项目文件下
下面是代码
 
/** 引入最重要的PHPExcel类库的入口文件 */
require(STK_PATH.'/class/stk/PHPExcel.class.php');
require(STK_PATH.'/class/stk/PHPExcel/IOFactory.php'); $objPHPExcel = new PHPExcel();
$objSheet = $objPHPExcel->getActiveSheet();
//生成表格
$data = array(
array("起始时间","2020/6/15 0:00:00","终止时间",'2020-06-15 17:21:45'),
array("源IP",'0.0.0.0','目的IP','0.0.0.0'),
array("目标标识","HTTP审计",'HTTPS审计','即时通讯审计','电子邮件审计','远程登录审计','文件传输审计'),
array("条数",'10','256','3','100','20','46')//加空表示文本 0也显示
);//这里面的数据可以用变量代替
$objSheet->fromArray($data);
 
//图表属性
$labels = array(
      new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$A$4',null,1),//条数图例
);
$xLabels = array(
      new PHPExcel_Chart_DataSeriesValues('String','Worksheet!$B$3:$G$3',null,6),//取x轴刻度
);
$datas = array(
      new PHPExcel_Chart_DataSeriesValues('Number','Worksheet!$B$4:$G$4',null,6),//取数据
); $series = array(
    new PHPExcel_Chart_DataSeries(
PHPExcel_Chart_DataSeries::TYPE_BARCHART_3D,//选择图表形式,柱状图,还可选择其他 折线图 饼图
PHPExcel_Chart_DataSeries::GROUPING_STANDARD,
range(0, count($datas)-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); $filename = '统计'.date('YmdHis').'.xlsx';
$excel = 'Excel2007';
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,$excel);
$objWriter->setIncludeCharts(true); //图表必须加此行
 
//浏览器导出头部
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); //excel2007
header('Content-Disposition: attachment;filename="'.$filename.'"');
header('Cache-Control: max-age=0');
 
//解决Excel2007不能导出
$filePath = dirname(__FILE__) . rand(0, getrandmax()) . rand(0, getrandmax()) . ".tmp";
$objWriter->save($filePath);
readfile($filePath);
unlink($filePath);
在选择图表形式的时候 可以选择其他需要的图表,然后只要相应的调整参数即可,
 
 
 
效果就是这样

简易的phpexcel导出柱状图的更多相关文章

  1. YII2框架下使用PHPExcel导出柱状图

    导出结果: 首先,到官网下载PHPExcel插件包,下载后文件夹如下: 将Classes文件夹放入到项目公共方法内. 新建控制器(访问导出的方法):EntryandexitController < ...

  2. PHPExcel导出excel文件

    今天园子刚开,先来个货顶下,后续园丁qing我会再慢慢种园子的,希望大家多来园子逛逛. PHPExcel导出excel文件,先说下重要的参数要记住的东西 impUser() 导入方法 exportEx ...

  3. phpExcel导出excel加超级链接的实例代码[转]

    phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...

  4. 利用PHPExcel导出excel 以及利用js导出excel

    导出excel的方法output_excel需要依赖PHPExcel 导出csv的方法csv_export不需要 <?php /** * @author ttt */ class ExcelCo ...

  5. php利用phpexcel导出数据

    php中利用phpexcel导出数据的实现代码.对phpexcel类库不熟悉的朋友,可以阅读下<phpexcel中文帮助手册>中的内容,具体实例大家可以phpexcel快速开发指南中的相关 ...

  6. 关于PHPExcel 导出下载表格,调试器响应乱码

    PHPExcel导出表格是日常程序开发很常见的一功能,有些小伙伴千辛万苦把代码写好之后,运行一下结果发现浏览器没反应,表格下载不了或者表格乱码!!!像这种情况有三种解决方法: 1.在header 之前 ...

  7. PHPExcel导出导入

    便于记忆 这里写一个PHPexcel导出的demo 我们构造一个数据   $letter = array('A','B','D','E'); //sheet索引   $date = array( ar ...

  8. 应用phpexcel导出excel文件后打不开的问题解决方法

    应用phpexcel导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”. 试了以下方法: 1.首先区分文件格式是2003,还是2007. 参 ...

  9. 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法

    上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. 这种显示很不人性化而且量多了修改起来也很麻烦. 这是因为Excel处理数字里默认 ...

随机推荐

  1. excel2007灵活计算2个日期之间的工作日

    C1单元格公式:=NETWORKDAYS(A1,B1,$F$2:$F$10)+COUNTIFS($I$2:$I$3,">="&A1,$I$2:$I$3,"& ...

  2. SQL——CREATE、ALTER、DROP和VIEW

    CREATE DATABASE - 创建新数据库    语法:CREATE DATABASE database_nameALTER DATABASE - 修改数据库    CREATE TABLE - ...

  3. Linux退出vi编辑

    按ESC键 跳出vi的编辑命令,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出vi:wq! 强制保存文件,并 ...

  4. [Firefox附加组件]0004.上下文菜单项

    在我们平常浏览网页是经常要对网页类容进行一些操作处理,如复制,翻译,搜索,打印打印等,今天我们就学习下如何在Firefox中我们如何通过附加组件实现这些操作. 开发步骤 1.终端窗口运行以下命令创建项 ...

  5. 读Pyqt4教程,带你入门Pyqt4 _010

    在PyQt4教程的这部分中,我们讨论拖放操作. 拖放(Drag-and-drop)指的是图形用户界面(Graphical user interface)中,在一个虚拟的对象上按着鼠标键将之拖曳到另一个 ...

  6. 线程的同步机制:同步代码块&同步方法

    解决存在的线程安全问题:打印车票时出现重票,错票 使用同步代码块的解决方案 TestWindow2 package com.aff.thread; /* 使用实现Runnable接口的方式,售票 存在 ...

  7. unix 密码破解,zip破解总结

    unix /etc/passwd 破解,假设的前两位是salt import crypt #数据比较 def password_crak(pass_word): salt = pass_word[0: ...

  8. Redis详解(十二)------ 缓存穿透、缓存击穿、缓存雪崩

    本篇博客我们来介绍Redis使用过程中需要注意的三种问题:缓存穿透.缓存击穿.缓存雪崩. 1.缓存穿透 一.概念 缓存穿透:缓存和数据库中都没有的数据,可用户还是源源不断的发起请求,导致每次请求都会到 ...

  9. .NetCore3.1中的WebApi如何配置跨域

    写法 一: 1. 打开Startup.cs,定义静态变量Any,用以配置跨域. private readonly string Any = "Any"; 2. 在Configure ...

  10. Java实现 LeetCode 685 冗余连接 II(并查集+有向图)

    685. 冗余连接 II 在本问题中,有根树指满足以下条件的有向图.该树只有一个根节点,所有其他节点都是该根节点的后继.每一个节点只有一个父节点,除了根节点没有父节点. 输入一个有向图,该图由一个有着 ...