首先得把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. 循序渐进VUE+Element 前端应用开发(1)--- 开发环境的准备工作

    之前一直采用VS进行各种前端后端的开发,随着项目的需要,正逐步融合纯前端的开发模式,开始主要选型为Vue + Element 进行BS前端的开发,后续会进一步整合Vue + AntDesign的界面套 ...

  2. PHP目录操作函数汇总

    一.判断普通文件和目录    1.is_file()//判断给定文件名是否为一个正常的文件    2.is_dir()//判断给定文件名是否是一个目录二.文件的属性    1.file_exists( ...

  3. Android_存储之SharedPreferences

    一.概述 SharedPreferences是一种轻量级的数据存储方式,采用键值对的存储方式. SharedPreferences只能存储少量数据,大量数据不能使用该方式存储,支持存储的数据类型有bo ...

  4. php mysqli使用

    连接到数据库$mysqli = new mysqli(主机,用户,密码,数据库); 选择数据库$mysqli->select_db(数据库);设置编码$mysqli->set_charse ...

  5. 使用 git add -p 整理 patch

    背景 当我们修改了代码准备提交时,本地的改动可能包含了不能提交的调试语句,还可能需要拆分成多个细粒度的 pactch. 本文将介绍如何使用 git add -p 来交互式选择代码片段,辅助整理出所需的 ...

  6. 《学习scrapy框架爬小说》的进一步完善

    一.完善目标: 1.为方便使用,把小说拼音或英文名,小说输出中文名,第一章节url地址变量化,修改这些参数即可爬取不同的小说. 2.修改settings.py设置文件,配置为记录debug的log信息 ...

  7. ES6-解析赋值

    1.注意事项 A.左右两边结构必须一样 B.右边必须是个东西 C.声明和赋值不能分开(必须在一句话里完成) 2.代码如下 <!DOCTYPE html> <html lang=&qu ...

  8. Rocket - decode - Term

    https://mp.weixin.qq.com/s/CbBWdTlc_DESlUzd8KFcSg   介绍Term类各方法的实现.     ​​   1. prime   表示一个项是否是质项,即这 ...

  9. 使用setTimeout()代替setInterval()

    背景: 在JavaScript中,有两种定时器:setTimeout()和setInterval():setTimeout()只执行一次定时操作,setInterval()执行无限次定时操作:但是大多 ...

  10. 空格与false