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‘); //文件通过浏览器下载

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);

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‘); //文件通过浏览器下载

注:如果遇到xlsx模板,把new类改成2007即可。普通的xls模板直接5

时间: 2024-11-19 17:01:35

PHPExcel用法有感的相关文章

PHPExcel用法

<?php //下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的 //创建一个excel $objPHPExcel = new PHPExcel(); //保存excel—2007格式 $objWriter = new PHPExcel_Writer_Excel2007($objPHPEx

php中使用PHPExcel操作excel(xls)文件

读取中文的xls.csv文件会有问题,网上找了下资料,发现PHPExcel类库好用,官网地址:http://phpexcel.codeplex.com/ 1.读取xls文件内容  代码如下 复制代码 <?php     //向xls文件写入内容     error_reporting(E_ALL);     ini_set('display_errors', TRUE);        include 'Classes/PHPExcel.php';                include

PHP从数据库导出EXCEL文件

参考博客链接:http://www.cnblogs.com/huangcong/p/3687665.html 我的程序代码 原生导出Excel文件 <?phpheader('Content-type: text/html; charset=utf-8');header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filename=test.xls"); $conn =

C#高级编程(第9版) 第10章 集合 笔记

话说 虽然敲过好多代码, 但除了C++,一直没正眼瞧过其它语言. 今天 看公司老项目的src,c#的,linq+Dictionary的用法有感.所以找来C#的资料 就学了一下,妈的 变天儿了. 以后不能再用C++编写思路,囫囵着过日子了. ------------------------------------------------------------------ 我是分割线 ---------------------------------------------------------

Symfony2框架中PHPExcel的用法

说到PHPExcl,确实是一个功能强大的php插件,在网上一收一大把相关教程.最近在Symfony2中用到它,感觉内容还是挺多的:而且Symfony2将此插件做了二次封装,想用它,确实得做些工作.我在网上找了很久,没发现有Symfony2框架的PHPExcl的用法,苦老了,这框架里又不能直接用(Symfony2框架有严格的流程控制):最后找到一国外网站,专门有讲这款插件针对Symfony2框架的用法,参考了下,方法都被封装好了,很规矩,开发很快.下面我就来介绍一下这个插件的用法. PHPExce

项目中phpexcel的基本用法

前提:要下载PHPEXCEL库文件 如:phpexcel官方下载    ,本人使用下载 情形一:对于将数据写入EXCEL表中的用法 header("content-type:text/html;charset=utf-8");require "PHPEXCEL/Classes/PHPExcel.php";require "PHPEXCEL/Classes/PHPExcel/IOFactory.php";require "PHPEXCEL

php利用PHPExcel类导出导入Excel用法

PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介绍了). 导出Excel用法 //设置环境变量(新增PHPExcel) 1 set_include_path('.'. PATH_SEPARATOR . Yii::app()->basePath.'/lib/PHPExcel' . PATH_SEPARATOR . 2 3 get_include_p

PHP操作Excel – PHPExcel 基本用法详解

导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel(); //Set properties 设置文件属性$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");$objPH

phpexcel简单用法

<?php /*php生成excel完整实例代码现求:php生成excel完整实例代码最好能说明如何调用!谢谢java_sunhui4 | 浏览 8131 次 2014-09-24 14:502014-09-25 11:15最佳答案 下载phpexcel类库 代码如下:*/ include 'PHPExcel/PHPExcel.php' ; //include 'PHPExcel/PHPExcel/IOFactory.php'; $objPHPExcel=new PHPExcel(); //$i