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 相关文章推荐
用PHP4访问Oracle815
Oct 09 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
浅析php数据类型转换
Jan 09 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
PHP中array_map与array_column之间的关系分析
Aug 19 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
php中memcache 基本操作实例
May 17 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
ThinkPHP框架实现FTP图片上传功能示例
Apr 08 PHP
PHP实现微信提现功能(微信商城)
Nov 21 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连接函数implode与分割explode的深入解析
2013/06/26 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
jquery蒙版控件实现代码
2010/12/08 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
2017/01/05 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
基于vue 动态菜单 刷新空白问题的解决
2020/08/06 Javascript
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
使用python实现画AR模型时序图
2019/11/20 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
python和js交互调用的方法
2020/06/23 Python
python 下载文件的几种方法汇总
2021/01/06 Python
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
材料化学应届生求职信
2013/10/09 职场文书
集体婚礼策划方案
2014/02/22 职场文书
捐资助学倡议书
2014/04/15 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书
MySQL空间数据存储及函数
2021/09/25 MySQL
Python简易开发之制作计算器
2022/04/28 Python