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获取网络上文件
Oct 09 PHP
一些使用频率比较高的php函数
Oct 03 PHP
centos 5.6 升级php到5.3的方法
May 14 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
Thinkphp模板中截取字符串函数简介
Jun 17 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
php layui实现前端多图上传实例
Jul 30 PHP
基于laravel-admin 后台 列表标签背景的使用方法
Oct 03 PHP
laravel框架上传图片实现实时预览功能
Oct 14 PHP
PHP实现微信公众号验证Token的示例代码
Dec 16 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 采集获取指定网址的内容
2010/01/05 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php发送post请求函数分享
2014/03/06 PHP
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
win7系统配置php+Apache+mysql环境的方法
2015/08/21 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
微信小程序中form 表单提交和取值实例详解
2017/04/20 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
vue-cli构建vue项目的步骤详解
2019/01/27 Javascript
一篇超完整的Vue新手入门指导教程
2020/11/18 Vue.js
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
护士节活动总结
2014/08/29 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS