简易的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');
$filePath = dirname(__FILE__) . rand(0, getrandmax()) . rand(0, getrandmax()) . ".tmp";
$objWriter->save($filePath);
readfile($filePath);
unlink($filePath);

简易的phpexcel导出柱状图的更多相关文章
- YII2框架下使用PHPExcel导出柱状图
导出结果: 首先,到官网下载PHPExcel插件包,下载后文件夹如下: 将Classes文件夹放入到项目公共方法内. 新建控制器(访问导出的方法):EntryandexitController < ...
- PHPExcel导出excel文件
今天园子刚开,先来个货顶下,后续园丁qing我会再慢慢种园子的,希望大家多来园子逛逛. PHPExcel导出excel文件,先说下重要的参数要记住的东西 impUser() 导入方法 exportEx ...
- phpExcel导出excel加超级链接的实例代码[转]
phpexcel实现的导出excel文件的代码,且可以在excel文件中加入超级链接. 说明:PHPExcel的开发包Tests目录有详细使用实例.以下代码支持中文,注意文件编码,文件保存为utf-8 ...
- 利用PHPExcel导出excel 以及利用js导出excel
导出excel的方法output_excel需要依赖PHPExcel 导出csv的方法csv_export不需要 <?php /** * @author ttt */ class ExcelCo ...
- php利用phpexcel导出数据
php中利用phpexcel导出数据的实现代码.对phpexcel类库不熟悉的朋友,可以阅读下<phpexcel中文帮助手册>中的内容,具体实例大家可以phpexcel快速开发指南中的相关 ...
- 关于PHPExcel 导出下载表格,调试器响应乱码
PHPExcel导出表格是日常程序开发很常见的一功能,有些小伙伴千辛万苦把代码写好之后,运行一下结果发现浏览器没反应,表格下载不了或者表格乱码!!!像这种情况有三种解决方法: 1.在header 之前 ...
- PHPExcel导出导入
便于记忆 这里写一个PHPexcel导出的demo 我们构造一个数据 $letter = array('A','B','D','E'); //sheet索引 $date = array( ar ...
- 应用phpexcel导出excel文件后打不开的问题解决方法
应用phpexcel导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”. 试了以下方法: 1.首先区分文件格式是2003,还是2007. 参 ...
- 关于PHPExcel导出Excel时身份证,数字会导出为科学计数的处理方法
上次在开发一个项目时,用到PHPExcel导出数据,其中有导出身份证等长串数字时导出的Excel中显示为科学计数方式. 这种显示很不人性化而且量多了修改起来也很麻烦. 这是因为Excel处理数字里默认 ...
随机推荐
- 【Python】利用python自动发送邮件
前言 在训练网络的过程中,需要大量的时间,虽然可以预估网络训练完成时间,但蹲点看结果着实有点不太聪明的亚子. 因此,参照师兄之前发的python利用smtp自动发邮件的代码,我作了些调整,并参照网上的 ...
- wordpress获取当前分类的子分类
1.现在function.php里面添加下面的代码 function get_category_root_id($cat) { $this_category = get_category($cat); ...
- MySQL的CHAR 和 VARCHAR的区别
CHAR 和 VARCHAR 类型,CHAR 列的长度固定, VARCHAR 列中的值为可变长字符串.在检索的时候,CHAR 列删除了尾部的空格,而 VARCHAR 则保留这些空格s
- Python之Flask框架一
flask是一个使用 Python 编写的轻量级 Web 应用框架.轻巧页就意味着他比较简洁,不过见到的MTV框架还是有的,(MVC)但是最重要的还是他的可扩展性很强,对比与Django框架呢,他的灵 ...
- unicode 的中文字符串,调用 isalnum()返回的是 True ?
描述 Python isalnum() 方法检测字符串是否由字母和数字组成. 语法 isalnum()方法语法: str.isalnum() 返回值 如果 string 至少有一个字符并且所有字符都是 ...
- 【HTTP】HTTP报文&状态码
HTTP报文中的HTTP信息 一.编码提升传输速率 编码的好处:有效处理大量的访问请求 编码的弊端:会消耗更多的CPU资源 报文主体&实体主体 报文:HTTP通信的基本单元,8位组字节流组成, ...
- springboot系列——重试机制原理和应用,还有比这个讲的更好的吗(附完整源码)
1. 理解重试机制 2. 总结重试机制使用场景 3. spring-retry重试组件 4. 手写一个基于注解的重试组件 5. 重试机制下会出现的问题 6. 模板方法设计模式实现异步重试机制 如果有, ...
- Jpa使用详解
目录 ORM思想 1.ORM概述 2.为什么要使用ORM 3.常见的ORM框架 JPA简介 1.JPA概述 2.JPA的优势 3.JPA与hibernate的关系 JPA入门案例 1.搭建开发环境 常 ...
- js在运算时的类型转换
日期类型与数字类型的运算 在加法时将日期对象与数字都当作字符串进行连接 字符串的运算方式中没有减法.乘法.除法.转化成数字类型进行运算 字符串类型字符与数字类型的运算 在加法时将二者都转换成字符串进行 ...
- 【Tomcat】JSP使用Session、Cookie实现购物车
购物界面shop.jsp 初始页面 添加商品后,在session中设置属性,重定向回到shop.jsp,然后根据session的内容显示结果 Cookie设置setMaxAge可以延长session的 ...