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 06 PHP
PHP编程函数安全篇
Jan 08 PHP
深入PHP运行环境配置的详解
Jun 04 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
php实现图片文件与下载文件防盗链的方法
Nov 03 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
php随机显示指定文件夹下图片的方法
Jul 13 PHP
php实现简单的MVC框架实例
Sep 23 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
php 使用html5 XHR2实现上传文件与进度显示功能示例
Mar 03 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中global和$GLOBALS[]的分析之一
2012/02/02 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
jquery validate poshytip 自定义样式
2012/11/26 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
ES6新特性之函数的扩展实例详解
2017/04/01 Javascript
Vue2.0使用过程常见的一些问题总结学习
2017/04/10 Javascript
vue-cli的eslint相关用法
2017/09/29 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
numpy库reshape用法详解
2020/04/19 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
党课学习思想汇报
2014/01/02 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
班组拓展活动方案
2014/08/14 职场文书
先进典型发言材料
2014/12/30 职场文书
团组织推荐意见
2015/06/05 职场文书
信用卡工作证明范本
2015/06/19 职场文书
2016年母亲节广告语
2016/01/28 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书