php使用phpexcel导出文件
php使用phpexcel导出文件
首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel
代码如下:
<?php
date_default_timezone_set('PRC');
/**
* 导出提现,充值记录
* */
function exportWalletStatAction(){
$body = [
[
'order_id'=>1,
'money'=>2222,
],
[
'order_id'=>2,
'money'=>3333,
]
]; $head = [['订单号', '金额']];
$needField = ['order_id','money'];
$body = filterFiels($body,$needField);
//导出文件的数据
$fileName = 'test';
export($fileName, $head, $body);
}
/**
* 得到需要导出的字段
* @return string
*/
function filterFiels($body, $needField)
{
if (!is_array($body) || !count(array($body))) {
$this->export();
}
$exportData = [];
if (is_array($body) && count($body)) {
foreach ($body as $key => $val) {
foreach ($needField as $needVal) {
if(isset($val[$needVal])){
$exportData[$key][$needVal] = $val[$needVal];
}
}
}
}
return $exportData;
} /**
* 处理导出文件
* @param string $fileName
* @param string $head
* @param string $body
* @param bool $clear
*/
function export($fileName = '', $head = '', $body = '', $clear = false)
{
if (!is_array($body) || !count(array($body)) || empty($body) ) {
$body = [
[
'没有相关数据'
]
];
}
if (is_array($head) && count($head)) {
$data = array_merge($head, $body);
} else {
$data = $body;
}
if (!$fileName) {
$fileName = date('ymdHis');
} else {
if (!$clear) {
$fileName = $fileName . '_' . date('ymdHis');
}
}
$fileName .= '.xls';
foreach ($data as $key => $val) {
foreach ($val as $k => $v) {
if (strpos($v, '=') === 0) {
$val[$k] = "\t" . $v;
$data[$key] = $val;
}
}
}
download($data, $fileName);
} /**
* 导出文件
* @param string $fileName
* @param string $head
* @param string $body
* @param bool $clear
*/
function download($data, $fileName = 'data.xsl')
{
error_reporting(E_ALL ^ E_NOTICE);
//error_reporting(0);
//文件引入
require_once __DIR__ .'/../../../../public/js/phpexcel/Classes/PHPExcel.php';
require_once dirname(__FILE__) . '/../../../../public/js/phpexcel/Classes/PHPExcel/Writer/Excel2007.php';
$objPHPExcel = new \PHPExcel();
$objPHPExcel->getActiveSheet()->fromArray($data, null, 'A1');
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');
$objPHPExcel->setActiveSheetIndex(0);
ob_end_clean();
ob_start();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $fileName . '"');
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit();//调用$objWriter->save('php://output')之后一定要紧跟exit
}
exportWalletStatAction();
php使用phpexcel导出文件的更多相关文章
- 使用PHPExcel导出文件
使用PHPExcel导出文件步骤及解析: 新建一个excel表格:实例化PHPExcel类 创建sheet(内置表):createSheet()方法,创建新的sheet方法 setActiveShee ...
- phpExcel导出文件时内存溢出的问题
在使用PHPExcel导出文件时,经常会因为文件过大导致PHP内存溢出报错,为了解决这个问题,可以使用PHPExcel提供的参数进行优化.这里说的Excel文件过大并不一定是文件大小,更关键的在于文件 ...
- PHPExcel使用-使用PHPExcel导出文件-导出MySQL数据
现在数据库里面有一组数据,我们将它按照不同的难度进行分sheet. 首先我们需要写一个mysql的配置文件- db.config.php(utf-8编码) : <?php $dbconfig= ...
- PHPExcel使用-使用PHPExcel导出文件
导出步骤: 1. 新建一个excel表格 ------------> 实例化PHPExcel类 2. 创建sheet(内置表)-------------> ( 1>. createS ...
- 在IE浏览器 使用PHPExcel导出文件时时 文件名中文乱码
1.当我们使用IE内核的浏览器下在PHPExcel报表时(谷歌.火狐浏览器正常, IE浏览器,360浏览器的兼容模式报错),会出现如下错误: 2.解决办法: 在下载文件时,对当前的浏览器进行判断, 如 ...
- PHPExcel 导出时乱码
今天遇到了个奇怪的问题..猜测应该是因为php文件的编码造成的,但是没有解决办法. 问题是,用PHPEXCEL导出文件的时候,相同的代码在一个文件中可以导出,在另一个文件中却不行.. 最后没有办法,只 ...
- PHPExcel使用收藏
注意:PHP7版本中phpexcel导出文件是提示找不到文件,需修改PHPExcel目录下的calculation目录下的Functions.php的581行 去掉break; 下面是总结的几个使用 ...
- PHPexcel使用 技巧
phpexcel不用多说了 导出表格时经常会用到 本帖主要记录一下几个经常用到的操作 # 设置自动换行 $PHPExcel->getActiveSheet()->getStyle(&q ...
- PHPExcel生成Excel文件---提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效
$data = Db::name('shop_cart')->where('phone','15555555555')->select(); $objPHPExcel = new PHPE ...
随机推荐
- distpicker省市区插件初始化选中值的问题
$('#distpicker1').distpicker('destroy') //当需要重新生成的时候,需要先销毁 $('#distpicker1').distpicker({ province: ...
- Ext.define细节分析
自己写的其实还是不懂,再看看别人写的吧Extjs4 源码分析系列一 类的创建过程https://www.cnblogs.com/creazyguagua/p/4302864.htmlhttp://ww ...
- Vim的6种基本模式及基本操作
说明:文章所有内容截选自实验楼教程[Vim编辑器]~ Vim 快速入门 一.实验介绍 1.1 实验内容 本次实验将学习vim中的不同模式和一些基本操作. 1.2 实验知识点 Vim中的六种基本模式 V ...
- CentOS7安装Jdk1.8
一.前期准备 a) 首先从官网上下载Jdk 8 for Linux x64到window下. b) 我这边用的最小安装,所以没有安装centos自带的openjdk,如果你安装时,不是最小安装的话,可 ...
- java json Gson
引入 Gson 到 pom.xml <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <de ...
- linux 下查看c 函数帮助
帮助文档 man man MANUAL SECTIONS The standard sections of the manual include: User Commands System Calls ...
- Linux平台Oracle 12.1.0.2 单实例安装部署
主题:Linux平台Oracle 12.1.0.2 单实例安装部署 环境:RHEL 6.5 + Oracle 12.1.0.2 需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为 ...
- servlet的请求转发与重定向
重定向: Spring的重定向 spring的请求转发:
- top结果解释
top结果解释 top命令功能类似Windows的任务管理器,但不如任务管理器的直观明了,下面对各项内容进行简单介绍. 信息行 top--命令/up-更新时间/users-用户数/load avera ...
- mysql 5.6 每天凌晨12:00 重置sequence表中的某个值
#.创建evevt要调用的存储过程update_current_value_procedure delimiter // drop procedure if exists update_current ...