首页 > 代码库 > PHP读取Excel文件内容
PHP读取Excel文件内容
项目需要读取Excel的内容,从百度搜索了下,主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。
PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。
PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。
下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:
require_once ‘/libs/PHPExcel-1.8.0/Classes/PHPExcel.php‘; //修改为自己的目录echo ‘<p>TEST PHPExcel 1.8.0: read xlsx file</p>‘;$objReader = PHPExcel_IOFactory::createReaderForFile($filename); $objPHPExcel = $objReader->load($filename);$objPHPExcel->setActiveSheetIndex(1);$date = $objPHPExcel->getActiveSheet()->getCell(‘A16‘)->getValue();
输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。如何通过Sheet名来获得当前Sheet我还不知道,如果有知道的可以站内我。
需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。
echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
下面的代码显示了如何遍历显示Excel的内容:
1 <table id="table_id"> 2 <?php 3 $objWorksheet = $objPHPExcel->getActiveSheet(); 4 $i = 0; 5 foreach($objWorksheet->getRowIterator() as $row){ 6 ?> 7 <tr> 8 <?php 9 $cellIterator = $row->getCellIterator();10 $cellIterator->setIterateOnlyExistingCells(false);11 12 if( $i == 0 ){13 echo ‘<thead>‘;14 }15 foreach($cellIterator as $cell){16 17 echo ‘<td>‘ . $cell->getValue() . ‘</td>‘;18 19 }20 if( $i == 0 ){21 echo ‘</thead>‘;22 }23 $i++;24 ?>25 </tr>26 <?php27 }28 ?>29 </table>
参考资料:
1、PHPExcel官网
2、使用PHPExcel判断和格式化Excel中的日期
3、PHPExcel中文帮助(知识点)
4、利用PHPExcel导入导出Excel文件
5、PHPExcel常用功能指南
PHP读取Excel文件内容
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。