首页 / PHP / phpexcel入门
phpexcel入门
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了phpexcel入门,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4057字,纯文字阅读大概需要6分钟。
内容图文
![phpexcel入门](/upload/InfoBanner/zyjiaocheng/203/e82511b27bcc44f4ae2a4a990b1aa437.jpg)
这几天概要的学习了一下PHPExcel,之所以说自己是概要的学习,是因为主要是以看网上的例子作为学习的主线,结合官方pdf文档.
下面就简要的对于近期的学习做一个小结.
1. 结构:
PHPExcel的构建具有很清晰的结构.明确了这个点,对于接下来的学习至关重要.
工作簿: 官方文档中叫workbook.对应PHPExcel中的PHPExcel类.
工作表: worksheet , 对应PHPExcel中的sheet表格,具体类名我没有看,可以通过getSheet获取到.
单元格: Cell .存储数据的最小单元.
以上的这三个概念是从上到下的包含关系,工作簿包含工作表,工作表包含单元格.
当然还有另外两个重要的抽象概念: 读和写.
在PHPExcel中,读写这两个动作被抽象成了类.这个用法还是很方便的.当我们需要读一个表格的时候,我们使用reader类的对象加载文件.当我们需要写的时候,只要再用writer类打开对象即可.
2. 类与方法.
PHPExcel里面的类有很多.我最近用到的没有几个.简单列举一下:
PHPExcel
PHPExcel_Writer
PHPExcel_Reader
PHPExcel_IOFactory (这就是传说中的工厂设计模式,根据调用的方法,来构造出writer类的对象或者reader类的对象.)
PHPExcel的方法我目前接触到的如下:
PHPExcel_IOFactory::load 加载excel文件.默认调用了reader类的方法,返回的是PHPExcel类的对象.
PHPExcel_IOFactory::createWriter(PHPExcel, "Excel5") 这里用来创建一个已经存在的PHPExcel类的对象的写类,后面的参数用来指定excel的后缀.常用的还有Excel007.
PHPExcel->getActiveSheet 获取当前默认激活着的表格.
PHPExcel->getSheet(index) 根据index获取sheet
PHPExcel->removeSheetByIndex 根据index删除sheet表格.
PHPExcel->addSheet() 添加一个新的sheet表格
PHPExcel->addExternalSheet() 添加一个外部表格,说到这个方法,就要提到另外一个关键字,clone.这个关键字可以克隆出一个表格的复制品.
Sheet->getCellByColumnAndRow() 注意PHPExcel中,column的下标是从0计算的,而row的下标是从1开始计算的.
Sheet->getHighestRow() 获取当前表格的最大行数
Sheet->getHighestColumn() 获取当前表格的最大列数
PHPExcel_Cell::columnIndexFromString() 当前的列数获取到以后,这个列是以字母的形式存在的,用起来很不方便,所以就有了这个函数,他可以把字母的列转成数字.
Sheet->getCell(A1) 它的参数类似这个样子.同样可以获取一个Cell的内容.
Sheet->setCellValueByColumnAndRow(column, row, value) 给column和row指代的cell更新值为value
Sheet->getRowIterator() 获取当前行的迭代器
Sheet->insertNewRowBefore($currentRow, $rownum) 在当前行的前面插入$rownum个行.
PHPExcel_Cell->setValue() 为当前的Cell设置一个值.
需要留意的是,PHPExcel并不仅仅只能输出Excel文件,还可以输出PDF,html文件等.这个我没有了解过.不做讨论.
下面是我自己设计实现的一个小例子.电话簿管理系统.支持查找插入删除.当然并没有严格的限制一些方面.实现的只是基本的功能.不过相信可以帮助同学们理解PHPExcel.
excel表格式如下:
名字 号码 备注
phone.php负责查找和插入:
号码管理系统 号码管理系统
注意如果需要插入操作,需要姓名和号码都不为空
如果当前页面的删除操作不满足输入条件,则跳转到专门的删除页面del.php, 代码如下:
号码删除页面 "; echo $str; echo ""; echo "";}$filename = "phonelist.xls";$phpexcel = PHPExcel_IOFactory::load($filename);$sheet = $phpexcel->getActiveSheet();$row_phone = $sheet->getHighestRow();$column = $sheet->getHighestColumn();$column_phone = PHPExcel_Cell::columnIndexFromString($column);//这个用法是网上借鉴的,还是蛮好用的$chk = $_POST["chk"];for ($i = $row_phone; $i >= 2; $i--){ $name = $sheet->getCellByColumnAndRow(0, $i)->getValue(); $num = $sheet->getCellByColumnAndRow(1, $i)->getValue(); if (empty($name) && empty($num)) { continue; } //在当前勾选的内容中查找,如果在数组中说明勾选了.则删除 if (in_array($i, $chk)) { $sheet->removeRow($i, 1); $clicked = TRUE; echo "".$name." -- ".$num.""; echo ""." 已经成功删除
"; sleep(1); }}//如果执行了至少一次删除操作,则刷新页面,保存修改后excel表格if (TRUE == $clicked){ $objWriter = PHPExcel_IOFactory::createWriter($phpexcel, "Excel5"); $objWriter->save($filename); $url=$SERVER["PHP_SELF"]; header("refresh:3;url=del.php");}?>
希望以上的这个例子能够对同学们有所启发.当然PHPExcel和PHP本身而言,这里的内容简直太少.但是对于入门而言.这也不是一个中规中矩的参考.
内容总结
以上是互联网集市为您收集整理的phpexcel入门全部内容,希望文章能够帮你解决phpexcel入门所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。