php excel 类,【PHP】PHPExcel类 excel常用操作小结
发布日期:2021-06-24 14:59:16 浏览次数:2 分类:技术文章

本文共 1437 字,大约阅读时间需要 4 分钟。

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 呢? 如图:

9e677423d1d85a413d43fc245ebebdfc.png

大家看到,$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文件了!

本文由 杨成功 原创,更多原创文章点击 这里

转载地址:https://blog.csdn.net/weixin_33510225/article/details/115173088 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:php 首字母升序排序,PHP实现获取第一个中文首字母并进行排序的方法
下一篇:httpd打不开php,httpd php不解析怎么办

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月17日 05时43分35秒