Heim  >  Artikel  >  php教程  >  PHP读取Excel文件内容

PHP读取Excel文件内容

WBOY
WBOYOriginal
2016-06-06 16:04:021003Durchsuche

项目需要读取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的内容:
<span style="color: #008080;"> 1</span> 
2php 3$objWorksheet = $objPHPExcel->getActiveSheet(); 4$i = 0; 5foreach($objWorksheet->getRowIterator() as$row){ 6 ?> 7 8php 9$cellIterator = $row->getCellIterator(); 10$cellIterator->setIterateOnlyExistingCells(false); 1112if( $i == 0 ){ 13echo ''; 14 } 15foreach($cellIteratoras$cell){ 1617echo ''; 1819 } 20if( $i == 0 ){ 21echo ''; 22 } 23$i++; 24 ?> 2526php 27 } 28 ?> 29
' . $cell->getValue() . '

 

 
参考资料:
1、PHPExcel官网
2、使用PHPExcel判断和格式化Excel中的日期
3、PHPExcel中文帮助(知识点)
4、利用PHPExcel导入导出Excel文件
5、PHPExcel常用功能指南
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn