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+MySql编写聊天室
Oct 09 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
19个超实用的PHP代码片段
Mar 14 PHP
php获取网页上所有链接的方法
Apr 03 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
php生成mysql的数据字典
Jul 07 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
Nov 25 PHP
php实现简单加入购物车功能
Mar 07 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 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支持页面回退的两种方法
2008/01/10 PHP
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
PHP开启opcache提升代码性能
2015/04/26 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
python处理文本文件实现生成指定格式文件的方法
2014/07/31 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python实现五子棋小游戏
2020/03/25 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
当当网官方旗舰店:中国图书销售夺金品牌
2018/04/02 全球购物
英国领先品牌手动工具和电动工具供应商:Tooled Up
2018/11/24 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
学习雷锋精神活动总结
2015/02/06 职场文书
赞助商致辞
2015/07/30 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python