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文件操作的详细诠释
Jun 21 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
php的XML文件解释类应用实例
Sep 22 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
Dec 18 PHP
PHP速成大法
Jan 30 PHP
php检查页面是否被百度收录
Oct 28 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
Nov 15 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
PHP异步进程助手async-helper
Feb 05 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使用SOAP调用.net的WebService数据
2013/11/12 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
2020/07/21 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
jquery实现瀑布流效果分享
2014/03/26 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
VSCode 配置React Native开发环境的方法
2017/12/27 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
Django卸载之后重新安装的方法
2017/03/15 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
解读python如何实现决策树算法
2018/10/11 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
大学教师年终总结的自我评价
2013/10/29 职场文书
运动会入场口号
2014/06/07 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
单方离婚协议书范本2014
2014/10/28 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
浅谈MySQL user权限表
2021/06/18 MySQL
使用Canvas绘制一个游戏人物属性图
2022/03/25 Javascript