搜索
系统检测到您的用户名不符合规范:

execl导出

浏览:764 发布日期:2018年03月20日 分类:技术分享 关键字: execl导出
// 定义报错
error_reporting(E_ERROR | E_WARNING | E_PARSE );
// 本execl导出没有使用composer包 类库文件请自行下载 放在根目录extend下
/**
* [export description]
* @author 984270382@qq.com
* @datetime 2018年03月12日T15:20:49+0800
* @param [arr] $data [查询的数据] 二维数组
* @param [arr] $field [列名] 字段名必须 字段名称必须 函数转换可选 参数可选
* @param [str] $title [表名] 表名可选
* @param [arr|str] $total [总计] 兼容 array str
* @return [type] [xls]
*/
function export($data,$fieldName,$title,$total=null)
{
//默认引用框架类
Vendor("PHPExcel.PHPExcel");
$objPHPExcel = new PHPExcel();
$objDrawing = new PHPExcel_Worksheet_Drawing();
$field=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
$objPHPExcel->getProperties()->setCreator("passboat");
$objPHPExcel->getProperties()->setLastModifiedBy("passboat");
$objPHPExcel->getProperties()->setTitle("passboat");
// 遍历列名
$i=0;
foreach ($fieldName as $key => $value) {
$objPHPExcel->getActiveSheet()->setCellValue($field[$i].'1', $value[1]);
$objPHPExcel->getActiveSheet()->getColumnDimension($field[$i])->setWidth(15);
$i++;
}
// 遍历数据
foreach ($data as $ke => $val) {
$j=0;
foreach ($fieldName as $k => $v) {
if(null != $v[2]){
if(null != $v[3]){
$objPHPExcel->getActiveSheet()->setCellValue($field[$j].($ke+2), ' '.$v[2]($val[$v[0]],$v[3]));
}else{
$objPHPExcel->getActiveSheet()->setCellValue($field[$j].($ke+2), ' '.$v[2]($val[$v[0]]) );
}
}else{
$objPHPExcel->getActiveSheet()->setCellValue($field[$j].($ke+2), ' '.$val[$v[0]] );
}
$j++;
}
}
if(null != $total){
if(is_array($total)){
$objPHPExcel->getActiveSheet()->setCellValue($field[count($fieldName)].'1', $total[0]);
if($total[2] != ''){
$objPHPExcel->getActiveSheet()->setCellValue($field[count($fieldName)].'2', $total[1]."(单位:".$total[2].")");
}else{
$objPHPExcel->getActiveSheet()->setCellValue($field[count($fieldName)].'2', $total[1]);
}
}else{
$objPHPExcel->getActiveSheet()->setCellValue($field[count($fieldName)].'1', '总金额');
$objPHPExcel->getActiveSheet()->setCellValue($field[count($fieldName)].'2', $total."(单位:万元)");
}
}
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="'.$title.'.xls"');
header("Content-Transfer-Encoding:binary");
$objWriter->save('php://output');
exit();
}
最近使用到很多接口,本人比较懒,都是用别人的sdk ,希望对你有用,
欢迎关注 欢迎指正!!!
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
cqsuny
积分:510 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /