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 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
THINKPHP+JS实现缩放图片式截图的实现
Mar 07 PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 PHP
PHP Session机制简介及用法
Aug 19 PHP
2款PHP无限级分类实例代码
Nov 11 PHP
Zend Framework教程之前端控制器Zend_Controller_Front用法详解
Mar 07 PHP
Laravel中间件实现原理详解
Oct 09 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
Dec 02 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 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上显示JFreechart画的统计图方法
2013/11/03 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP时间相关常用函数用法示例
2020/06/03 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
利用JS轻松实现获取表单数据
2016/12/06 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
Nodejs中获取当前函数被调用的行数及文件名详解
2018/12/12 NodeJs
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
在Python中处理时间之clock()方法的使用
2015/05/22 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
对Python中的@classmethod用法详解
2018/04/21 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
详解Python3定时器任务代码
2019/09/23 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
经济信息管理专业大学生求职信
2013/09/27 职场文书
2013年研究生毕业感言
2014/02/06 职场文书
优秀管理者获奖感言
2014/02/17 职场文书
见习期自我鉴定范文
2014/03/19 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
纪念九一八事变演讲稿1000字
2014/09/14 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
乐山大佛导游词
2015/02/02 职场文书
教师考核表个人总结
2015/02/12 职场文书