PHP 下载mysql数据到PHPExcel表格
第一步:先到官网(https://github.com/PHPOffice/PHPExcel)下载PHPExcel
第二步:放到第三方库
第三步:
/**
* 封装:信息导出
* @param $day
* @param string $tableName
* @throws PHPExcel_Exception
* @throws PHPExcel_Reader_Exception
*/
public function Db2Eexcel($data, $tableName = "用户支付数据"){ vendor("PHPExcel.PHPExcel"); // 1. 实例化工作簿
$excel = new \PHPExcel(); // 2. 得到前当活动工作表
$sheet = $excel->getActiveSheet(); // 3. Excel表格式,这里简略写了14列
$letter = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q']; // 3.1 表头数组
$tableheader = ['ID','订单创建时间','订单处理时间','支付平台单号','商户订单号','支付类型','支付金额','实际支付金额','银行卡','商品名称','支付状态','游戏支付状态','账号','服务器ID','渠道','子渠道','游戏ID']; // 3.2 填充表头信息, 并设置样式
for($i = ;$i < count($tableheader);$i++) {
$sheet->getCell("$letter[$i]1")->setValue("$tableheader[$i]");
$sheet->getStyle("$letter[$i]1")->getAlignment()->setHorizontal('center'); // 统一设置水平居中
$sheet->getStyle("$letter[$i]1")->getAlignment()->setVertical('center'); // 统一设置垂直居中
$sheet->getStyle("$letter[$i]1")->getFont()->getColor()->setRGB('b5211a'); // 统一设置单元格字段颜色
$sheet->getStyle("$letter[$i]1")->getFont()->setSize(); // 统一设置字体大小
$sheet->getStyle("$letter[$i]")->getFont()->setSize();
$sheet->getStyle("$letter[$i]1")->getFont()->setBold(true); // 统一设置加粗
$sheet->getColumnDimension("$letter[$i]")->setWidth(); // 统一设置宽度
} // 3.3 样式:第1行的高度
$sheet->getRowDimension('')->setRowHeight(); // 3.4 样式:列的宽度
$sheet->getColumnDimension('A')->setWidth();
$sheet->getColumnDimension('B')->setWidth();
$sheet->getColumnDimension('C')->setWidth();
$sheet->getColumnDimension('D')->setWidth();
$sheet->getColumnDimension('E')->setWidth();
$sheet->getColumnDimension('F')->setWidth();
$sheet->getColumnDimension('G')->setWidth();
$sheet->getColumnDimension('H')->setWidth();
$sheet->getColumnDimension('I')->setWidth();
$sheet->getColumnDimension('J')->setWidth();
$sheet->getColumnDimension('K')->setWidth();
$sheet->getColumnDimension('L')->setWidth();
$sheet->getColumnDimension('M')->setWidth();
$sheet->getColumnDimension('N')->setWidth();
$sheet->getColumnDimension('O')->setWidth();
$sheet->getColumnDimension('P')->setWidth();
$sheet->getColumnDimension('Q')->setWidth(); // 4. 填充表格信息
for ($i = , $k = ; $i <= count($data)+; $i++, $k++) {
$j = ; // 格式化:时间
if(!empty($data[$k]['ftime'])){
$data[$k]['ftime'] = date('Y/m/d H:i:s', $data[$k]['ftime']);
}
if(!empty($data[$k]['ptime'])){
$data[$k]['ptime'] = date('Y/m/d H:i:s', $data[$k]['ptime']);
} // 格式化:支付类型 1:支付宝 2:微信
if(!empty($data[$k]['paytype'])){
if($data[$k]['paytype'] == ){
$data[$k]['paytype'] = "支付宝";
}
if($data[$k]['paytype'] == ){
$data[$k]['paytype'] = "微信";
}
} //格式化:支付状态1成功0失败
if(isset($data[$k]['paystatus']))
{
$data[$k]['paystatus'] = $data[$k]['paystatus'] == ? "成功" : "失败";
}
if(isset($data[$k]['gamepaystatus']))
{
$data[$k]['gamepaystatus'] = $data[$k]['gamepaystatus'] == ? "成功" : "失败";
} foreach ($data[$i - ] as $key=>$value) {
$sheet->getCell("$letter[$j]$i")->setValue("$value");
$sheet->getStyle("$letter[$j]$i")->getAlignment()->setHorizontal('center');
$j++;
}
} // 6. 保存文件:输出到浏览器
$writer = \PHPExcel_IOFactory::createWriter($excel,'Excel2007');
self::browser_export('Excel2007', $tableName.'.xlsx'); //输出到浏览器
$writer->save("php://output");
} /**
* 输出到浏览器
* @param $type
* @param $filename
*/
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文件
}
ob_end_clean();//清除缓存区,避免乱码
header('Content-Disposition: attachment;filename="'.$filename.'"'); //告诉浏览器将输出文件的名称
header('Cache-Control: max-age=0'); //禁止缓存
}
PHP 下载mysql数据到PHPExcel表格的更多相关文章
- PHPExcel使用-使用PHPExcel导出文件-导出MySQL数据
现在数据库里面有一组数据,我们将它按照不同的难度进行分sheet. 首先我们需要写一个mysql的配置文件- db.config.php(utf-8编码) : <?php $dbconfig= ...
- linux下导入、导出mysql数据库命令 下载文件到本地
一.下载到本地 yum install lrzsz sz filename 下载 rz filename 上传 linux下导入.导出mysql数据库命令 一.导出数据库用mysqldump命 ...
- java 导mysql数据为表格给浏览器接收
jar 包准备 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</a ...
- php动态导出数据成Excel表格
一.封装 Excel 导出类 include/components/ExecExcel.php <?php /*** * @Excel 导入导出类. */ class ExecExcel { / ...
- Echart显示后端mysql数据
一.基本思想 1.将数据存储在mysql数据库中 2.后端链接数据库,将数据库中的数据保存为json格式 3.将json格式数据使用ajax传到前端JSP页面中的Echarts 二.实现的关键点 1. ...
- MySQL 数据操作与查询笔记 • 【第1章 MySQL数据库基础】
全部章节 >>>> 本章目录 1.1 数据库简介 1.1.1 数据和数据库定义 1.1.2 数据库发展阶段 1.1.3 数据库系统组成 1.1.4 关系型数据库 1.2 M ...
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...
- 使用Solr索引MySQL数据
环境搭建 1.到apache下载solr,地址:http://mirrors.hust.edu.cn/apache/lucene/solr/ 2.解压到某个目录 3.cd into D:\Solr\s ...
- ElasticSearch5+logstash的logstash-input-jdbc实现mysql数据同步
在实现的路上遇到了各种坑,再次验证官方文档只能产考不能全信! ElasticSearch安装就不说了上一篇有说! 安装logstash 官方:https://www.elastic.co/guide/ ...
随机推荐
- JDBC——JDBC基础
1.JDBC与数据库的交互过程概括性来说,JDBC与数据库交互有以下这些步骤:1.建立一个到数据库的连接.2.在数据库中对表执行检索.创建,或修改的SQL查询.3.关闭到数据库的连接.JDBC的类和接 ...
- DP&图论 DAY 4 下午图论
DP&图论 DAY 4 下午 后天考试不考二分图,双联通 考拓扑排序 图论 图的基本模型 边: 有向边构成有向图 无向边构成无向图 权值: 1.无权 2.点权 3.边权 4.负权(dij不 ...
- 解决FTP服务器上中文名文件下载后为空的问题
转: 解决FTP服务器上中文名文件下载后为空的问题 2017年07月20日 15:19:21 代码的寂寞 阅读数 2428 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- go 基础 处理异常
package main import "fmt" func main() { dosomething() } func dosomething(){ defer func() { ...
- 利用delve(dlv)在Visual Code中进行go程序的远程调试-debug方式
最近碰到一个问题,如何在Windows的IDE或者文本编辑器上,远程调试Linux服务器上的golang程序. 虽然想说gdb走你,但既然go有dlv这样的类似Java的jdwp的原生方案,而且我用的 ...
- 【学习笔记】python3中yaml文件使用
1.yaml -> 字典:用yaml.load()或yaml.safe_load(YAML字符串或文件句柄),如yaml中有中文,可以使用.encode('utf-8')或打开文件时指定enco ...
- Django模板系统-内置和自定义Filters
django模板中最常用的两种特殊符号是 {{ }} 用来表示变量和 {% %} 用来表示逻辑相关的操作 变量 {{ 变量名 }} ,由字母数字下划线组成而.在模板语言中有特殊含义,用来获取对象相应的 ...
- MariaDB(第三章)select
基本查询 ``` --查询基本使用(条件,排序,聚合函数,分组,分页) --创建学生表 create table students ( id int unsigned not null auto_in ...
- 激活后出现grab>
最近由于经常整理自己电脑上的文件,难免都会遇到误删系统文件或者操作失误导致系统不能够正常进入的情况.这时就会出现grub错误的提示,只能输入命令才能进入系统.那么该输入什么命令呢?其实非常简单. gr ...
- comodo firewall 科莫多离线安装
comodo firewall是什么?他配有HIPS,配置好规则就可以比杀软强不是一个两个档次,但是新手不建议使用. 注意:不用使用疯狂模式后锁屏,不然系统都打不开. 下载地址: https://do ...