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 相关文章推荐
PHP5中新增stdClass 内部保留类
Jun 13 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
php加速器eAccelerator的配置参数、API详解
May 05 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
php中分页及SqlHelper类用法实例
Jan 12 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
Dec 31 PHP
php生成word并下载代码实例
Mar 15 PHP
PHP中的自动加载操作实现方法详解
Aug 06 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 模板高级篇总结
2006/12/21 PHP
解析PHP工厂模式的好处
2013/06/18 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
用PHP的反射实现委托模式的讲解
2019/03/22 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
javascript闭包(Closure)用法实例简析
2015/11/30 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
python logging类库使用例子
2014/11/22 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
Python XlsxWriter模块Chart类用法实例分析
2019/03/11 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
德国户外商店:eXXpozed
2020/07/25 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
市场部专员岗位职责
2013/11/30 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
元旦晚会邀请函
2014/01/27 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
Python实现制作销售数据可视化看板详解
2021/11/27 Python