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安装全攻略:APACHE
Oct 09 PHP
一个简单的域名注册情况查询程序
Oct 09 PHP
默默简单的写了一个模板引擎
Jan 02 PHP
PHP 代码规范小结
Mar 08 PHP
PHP连接局域网MYSQL数据库的简单实例
Aug 26 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
为你总结一些php系统类函数
Oct 21 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
Zend Framework教程之Zend_Config_Xml用法分析
Mar 23 PHP
yii2 url重写并隐藏index.php方法
Dec 10 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 PHP
浅谈laravel aliases别名的原理
Oct 24 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
javascript函数声明和函数表达式区别分析
2014/12/02 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
浅谈对yield的初步理解
2017/05/29 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Python hashlib模块实例使用详解
2019/12/24 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
python里反向传播算法详解
2020/11/22 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
英国时尚家具、家居饰品及礼品商店:Graham & Green
2016/09/15 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
生产车间主任的个人自我鉴定
2013/10/25 职场文书
省文明单位申报材料
2014/05/08 职场文书
校车安全责任书
2014/08/25 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
LyScript实现绕过反调试保护的示例详解
2022/08/14 Python