PHPExcel用法有感
今日项目需求导出excel。我用最简单的header头方式导出了,但是需求部门退回了,说不满足他们的需求,需要我按照他们的模板来导出。
然后想到了PHPExcel,没用过,走了不少弯路。
1.去官网下载最新的包。
2.普通的导出(和普通Header头导出的一样)。
1 import("Org.Util.PHPExcel"); 2 import("Org.Util.PHPExcel.Writer.Excel5"); 3 import("Org.Util.PHPExcel.IOFactory.php"); 4 import("Org.Util.PHPExcel.Worksheet.Drawing"); 5 $date = date("Y_m_d",time()); 6 $fileName = $date.".xls"; 7 $objPHPExcel = new \PHPExcel(); 8 $objProps = $objPHPExcel->getProperties(); 9 $objActSheet = $objPHPExcel->setActiveSheetIndex(0); 10 $objActSheet->setCellValue('A1', '订单号'); 11 $objActSheet->setCellValue('B1', '退货单号'); 12 $objActSheet->setCellValue('C1', '生成时间'); 13 $objActSheet->setCellValue('D1', '商品名称'); 14 $objActSheet->setCellValue('E1', '物料编码'); 15 $objActSheet->setCellValue('F1', '退货工单号'); 16 $objActSheet->setCellValue('G1', '退款单号'); 17 $n=2; 18 foreach($list as $value){ 19 $where = array( 20 'back_id'=>$value['back_id'] 21 ); 22 $getDetial = $db->table('back_goods')->where($where)->find(); 23 $objActSheet->setCellValueExplicit('A'.$n, $value['order_sn']); 24 $objActSheet->setCellValueExplicit('B'.$n, $value['back_sn']); 25 $objActSheet->setCellValue('C'.$n, date('Y-m-d H:i:s',$value['add_time'])); 26 $objActSheet->setCellValue('D'.$n, $getDetial['goods_name']); 27 $objActSheet->setCellValue('E'.$n, $getDetial['goods_sn']); 28 $objActSheet->setCellValue('F'.$n, ''); 29 $objActSheet->setCellValue('G'.$n, ''); 30 $n++; 31 } 32 $fileName = iconv("utf-8", "gb2312", $fileName); 33 header('Content-Type: application/vnd.ms-excel'); 34 header("Content-Disposition: attachment;filename=\"$fileName\""); 35 header('Cache-Control: max-age=0'); 36 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 37 $objWriter->save('php://output'); //文件通过浏览器下载
View Code
3.写入到模板excel。
1 import("Org.Util.PHPExcel"); 2 import("Org.Util.PHPExcel.Writer.Excel5"); 3 import("Org.Util.PHPExcel.IOFactory.php"); 4 import("Org.Util.PHPExcel.Worksheet.Drawing"); 5 $PHPReader = new \PHPExcel_Reader_Excel5(); 6 $fileName="./Public/a.xls"; 7 $PHPExcel = $PHPReader->load($fileName); 8 $objActSheet = $PHPExcel->getSheet(0); 9 $allColumn = $objActSheet->getHighestRow(); 10 $n=1+$allColumn; 11 if($data){ 12 foreach($data as $k=>$v){ 13 $objActSheet->setCellValue('A'.$n, $k+1);//编号 14 $objActSheet->setCellValue('B'.$n, $v['name']);//姓名 15 $n++; 16 } 17 } 18 $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); 19 $objWriter->save($fileName);
View Code
4.根据模板写入,并不改变模板,另存为下载。
1 import("Org.Util.PHPExcel"); 2 import("Org.Util.PHPExcel.Writer.Excel5"); 3 import("Org.Util.PHPExcel.IOFactory.php"); 4 import("Org.Util.PHPExcel.Worksheet.Drawing"); 5 $PHPReader = new \PHPExcel_Reader_Excel5(); 6 $fileName="./Public/a.xls"; 7 $PHPExcel = $PHPReader->load($fileName); 8 $objActSheet = $PHPExcel->getSheet(0); 9 $allColumn = $objActSheet->getHighestRow(); 10 $n=1+$allColumn; 11 if($data){ 12 foreach($data as $k=>$v){ 13 $objActSheet->setCellValue('A'.$n, $k+1);//编号 14 $objActSheet->setCellValue('B'.$n, $v['name']);//姓名 15 $objActSheet->setCellValue('C'.$n, "");//性别? 16 $n++; 17 } 18 } 19 $file_name="test.xls"; 20 $fileName = iconv("utf-8", "gb2312", $file_name); 21 header('Content-Type: application/vnd.ms-excel'); 22 header("Content-Disposition: attachment;filename=\"$fileName\""); 23 header('Cache-Control: max-age=0'); 24 $objWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, 'Excel5'); 25 $objWriter->save('php://output'); //文件通过浏览器下载
View Code
注:如果遇到xlsx模板,把new类改成2007即可。普通的xls模板直接5
转载于:https://www.cnblogs.com/inc-is-include/p/5684203.html
PHPExcel用法有感相关推荐
- php phpexcel用法,PHPExcel用法总结
PHPExcel用法总结 总结一下PHPExcel的用法~ //设置PHPExcel类库的include path//这里貌似直接include类文件就可以了 # set_include_path(' ...
- PHPExcel用法总结
总结一下PHPExcel的用法~ <? //设置PHPExcel类库的include path//这里貌似直接include类文件就可以了 # set_include_path('.'. PAT ...
- phpexcel用法(转)
.php导出excel(多种方法) (2013-03-23 15:44:02) 转载▼ 分类: php 基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只 ...
- PHPExcel用法(详细)
首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...
- php phpexcel用法,PHPExcel用法
导入PHPExcel.php或者其他文件 require_once 'PHPExcel.php'; require_once'PHPExcel/Writer/Excel5.php'; // 用 ...
- php phpexcel用法,PHPExcel中文帮助手册|PHPExcel使用方法(分享)
include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/Writer/Excel5 ...
- php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...
PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...
- PHPExcel详细用法
短时间想全部看了这类库,应该不容易... 一直知道这东西,但是没详细看过.文档也没有,只有别人的博客总结,找了一篇很详细的.不过真的很不错,导入和导出都有,而且各种格式支持!可能因版本不同,有不一样的 ...
- Laravel 上使用 phpexcel的两种方式
原创 2017年06月24日 20:24:31 1229 文章采集与网上 方式1.使用原生的phpexcel , http://blog.csdn.net/CSwfe/article/details/ ...
最新文章
- 计算机科学领域最高荣誉,骄傲!这位毕业于嘉兴一中的数学家,荣获华人数学领域的最高荣誉...
- Activity 启动模式以及常见的启动Flag
- CMD下查询Mysql中文乱码的解决方法
- 微软上线Try .NET,支持在浏览器运行C#代码
- 12-Linux下Oracle 11g R2数据库安装
- LeetCode:62. 不同路径(python、c++)
- perl语言 入门(转)
- token是什么意思
- php亲戚称谓计算源码,亲戚称呼(亲戚关系计算器在线)
- CString提取数字
- 如何将CM android移植到你的设备(二)
- Codeforces 417D Cunning Gena(状态压缩dp)
- git仓库中文件较多,如何拉取指定文件到本地
- 基于SSM+Mysql的房屋租赁管理系统
- 小姐姐让我帮忙修照片
- 静默升级linux,Firefox 10 正式发布 支持静默升级功能
- 虚拟机连接不上网络的解决方案
- iOS view生命周期
- python实现加密解密功能(GUI)
- web网页设计实例作业 ——中国梦我的梦(3页) 学生HTML个人网页作业作品下载
热门文章
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- JavaScript——Object类型
- ROS学习笔记6(理解ROS话题)
- css写七步诗,兄弟情谊的优美句子
- Python中的字符串(搜索和替换、对齐、统计、分离和连接)
- 微信小程序有关于Linux的吗,微信小程序可以跳转到手机 app 啦!
- APP自动化测试系列之adb连接真机和模拟器
- 翁恺老师C语言学习笔记(八)数组
- 比特币挖矿难度上调至23.14T,创历史新高
- TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨0.8%