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去除数组中重复的元素并按键名排序函数
Aug 18 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
php addslashes 利用递归实现使用反斜线引用字符串
Aug 05 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
Aug 21 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
php生成带logo二维码方法小结
Apr 08 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 PHP
laravel 获取当前url的别名方法
Oct 11 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
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
javascript运动详解
2015/07/06 Javascript
浅析JS运动
2015/12/28 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
Node.js Buffer模块功能及常用方法实例分析
2019/01/05 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python编程实现的图片识别功能示例
2017/08/03 Python
python删除某个字符
2018/03/19 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
python pymysql库的常用操作
2020/10/16 Python
如何用Django处理gzip数据流
2021/01/29 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
学年自我鉴定范文
2013/10/01 职场文书
历史教育专业个人求职信
2013/12/13 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
《学会合作》教学反思
2014/04/12 职场文书
小区推广策划方案
2014/06/06 职场文书
工程造价专业求职信
2014/07/17 职场文书
党员个人党性分析材料
2014/12/18 职场文书
通知函的格式
2015/04/27 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
APP界面设计技巧和注意事项
2022/04/29 杂记