PHP 导出Excel示例分享


Posted in PHP onAugust 18, 2014

下载PHPExcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的Classes上传到网站的根目录下,Classes目录内的内容如下:

导出文件Excel.php

require_once dirname(__FILE__).'/Classes/PHPExcel.php';//引入PHPExcel
.....此处略去从数据库获取数据的过程,$a为需要导出的数组......
$numArr = array('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','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

$arr = array('订单号','下单时间','城市','地区', '客户名称', '收货人', '联系电话', '收货地址', 'ERP客户名称', '物流系统客户名称', '活动项目',
 '品牌', '型号', '颜色', '物流系统型号', '订货量', '单价', '代收货款', '红包', '价保返利', '运费', '实收金额', '付款方式', '订单来源',
 '上游厂商', '是否在仓', '快递面单号', '订单状态', '确认时间', '末次状态确认时间', '描述', '对应业务', '对应客服', '商家留言', '下单摘要',
 '业务员', '联系方式');
// 输出标题
echo date('H:i:s') , " Add some data" , EOL;
//设置换行
$objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('Y')->getAlignment()->setWrapText(true);
//设置相应列的宽度
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(20);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('G')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('H')->setWidth(40);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('I')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('J')->setWidth(15);
//输出第一行
$objPHPExcel->setActiveSheetIndex(0)
   ->setCellValue('A1', $arr[0])
 ->setCellValue('B1', $arr[1])
 ->setCellValue('C1', $arr[2])
 ->setCellValue('D1', $arr[3])
 ->setCellValue('E1', $arr[4])
 ->setCellValue('F1', $arr[5])
 ->setCellValue('G1', $arr[6])
 ->setCellValue('H1', $arr[7])
 ->setCellValue('I1', $arr[8])
 ->setCellValue('J1', $arr[9])
   ->setCellValue('K1', $arr[10])
   ->setCellValue('L1', $arr[11]);


//输出内容
for($i=0;$i<count($a);$i++){
 $objPHPExcel->setActiveSheetIndex(0)
  ->setCellValue($numArr[0].($i+2), $a[$i]['order_sn'])
  ->setCellValue($numArr[1].($i+2), $a[$i]['add_time'])
  ->setCellValue($numArr[2].($i+2), $a[$i]['city'])
  ->setCellValue($numArr[3].($i+2), $a[$i]['region_name'])
  ->setCellValue($numArr[4].($i+2), $a[$i]['company'])
  ->setCellValue($numArr[5].($i+2), $a[$i]['consignee'])
  ->setCellValue($numArr[6].($i+2), $a[$i]['mobile'])
  ->setCellValue($numArr[7].($i+2), $a[$i]['address'])
  ->setCellValue($numArr[8].($i+2), '')
  ->setCellValue($numArr[9].($i+2), '')
  ->setCellValue($numArr[10].($i+2), '')
  ->setCellValue($numArr[11].($i+2), $a[$i]['brand_name']);
}

// Rename worksheet
echo date('H:i:s') , " Rename worksheet" , EOL;
$dirName = date("Ymd");//目录名
$fileName = date("YmdHis");//文件名
$objPHPExcel->getActiveSheet()->setTitle($fileName);


// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);


// Save Excel 2007 file
echo date('H:i:s') , " Write to Excel2007 format" , EOL;
$callStartTime = microtime(true);
if(!opendir('../excel/'.$dirName)){
 mkdir('../excel/'.$dirName);
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('../excel/'.$dirName.'/'.$fileName.'.xlsx');

$end = getCurrentTime();
$spend = $end-$begin;
if ($spend > 30){
 echo '<script>if(confirm("执行超时!")){ window.history.back(-1);}</script>';
 exit;
}
header('Location:http://'.$_SERVER['HTTP_HOST'].'/excel/'.$dirName.'/'.$fileName.'.xlsx');
PHP 相关文章推荐
PHP中的cookie
Nov 26 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
PHP 创建标签云函数代码
May 26 PHP
php下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
Dec 11 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
学习php设计模式 php实现状态模式
Dec 07 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
php+ajax实现仿百度查询下拉内容功能示例
Oct 20 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 #PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 #PHP
PHP实现取得HTTP请求的原文
Aug 18 #PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 #PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 #PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 #PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 #PHP
You might like
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
javascript 原型继承介绍
2011/08/30 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
ES6正则表达式扩展笔记
2017/07/25 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
linux 后台运行node服务指令方法
2018/05/23 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
微信小程序动画(Animation)的实现及执行步骤
2018/10/28 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
[42:11]TNC vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python中os.path用法分析
2015/01/15 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
如何基于python实现归一化处理
2020/01/20 Python
python线程join方法原理解析
2020/02/11 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python opencv实现图片缺陷检测(讲解直方图以及相关系数对比法)
2020/04/07 Python
CSS3实现曲线阴影和翘边阴影
2016/05/03 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
2015小学毕业班工作总结
2015/07/21 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
解决golang在import自己的包报错的问题
2021/04/29 Golang
Pygame如何使用精灵和碰撞检测
2021/11/17 Python