PHP使用好久了,好像今天才想起来要记一篇博客呢。之前一直用的 ci 框架,后来做接口的时候打算换成 tp5, 不料机缘巧合之下又结识了 node,于是乎决然的站到了 js 的大营之下。PHP这块我会翻翻之前的东西,如果找到有价值的东西再记下来,留作备用。今天小记一下
PHPExcel
这个类库的常用操作。
首先贴上 github 地址,直接去下载最新版好了。 这里下载
下载之后,取出Classes
这个文件夹,这里是我们用到的类库文件。
引入类库
假如我把 Classes 这个文件夹放到根目录下,那么现在需要引入两个类:
require ‘Classes/PHPExcel.php’ //核心类
require ‘Classes/PHPExcel/IOFactory.php' //用于保存文件的类
实例化核心类
实例化核心类,相当于新建一个excel文档:
$objPHPExcel = new PHPExcel();
获取 sheet
写入数据之前需要说明一点,数据不是直接写在$objPHPExcel
对象上面的,数据是写在sheet
上的,那什么是 sheet 呢? 如图:
大家看到,$objPHPExcel下会包含多个 sheet,默认是第一个 sheet, 所以我们首先要获取当前 sheet, 在当前 sheet 下写入数据
$objSheet = $objPHPExcel->getActiveSheet(); //获取当前shhet
$objSheet->setTitle('我的sheet名称'); //设置sheet名称
写入数据
写入数据的方法不止一个,我介绍一个我常用的方法:
$objSheet->setCellValueByColumnAndRow($col,$row,$field);
注:$col
代表列,$row
代表行,$field
是要写入一个单元格的内容。这里要说明一下,列和行都是用阿拉伯数字表示,列不是用 ABCD 而是用 1234,比如说要在第3列第4行插入‘name'这个字符串,应该这么写:
$objSheet->setCellValueByColumnAndRow(3,4,'name');
保存excel
$objWriter = IOFactory::createWriter($objPHPExcel,'Excel5');
IOFactory
是上文引入的文件 IOFactory.php 的类名,默认是类名是 PHPExcel_IOFactory,因为 CI 框架的缘故我把类名修改为 IOFactory,和文件名一致,这里做下说明。
传递参数Excel5
生成 .xls 文件,你也可以替换成Excel2007
,生成 .xlsx 文件。
输出到浏览器下载
这一步是设置头文件和下载路径,默认就可以,你只需修改你下载文件的文件名即可:
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="下载的文件名"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
这样就好了,直接在浏览器输入你的地址,就可以下载生成的excel文件了!
本文由
杨成功
原创,更多原创文章点击 这里
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。