主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。

PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。
PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。(推荐学习:PHP视频教程)
下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:
1 2 3 4 5 6 | 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();
|
Salin selepas log masuk
输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。
如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。
需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。
1 | echo date ( "Y-m-d H:i:s" ,PHPExcel_Shared_Date::ExcelToPHP( $date ));
|
Salin selepas log masuk
下面的代码显示了如何遍历显示Excel的内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <table id= "table_id" >
<?php
$objWorksheet = $objPHPExcel ->getActiveSheet();
$i = 0;
foreach ( $objWorksheet ->getRowIterator() as $row ){
?>
<tr>
<?php
$cellIterator = $row ->getCellIterator();
$cellIterator ->setIterateOnlyExistingCells(false);
if ( $i == 0 ){
echo '<thead>';
}
foreach ( $cellIterator as $cell ){
echo '<td>' . $cell ->getValue() . '</td>';
}
if ( $i == 0 ){
echo '</thead>';
}
$i ++;
?>
</tr>
<?php
}
?>
</table>
|
Salin selepas log masuk
Atas ialah kandungan terperinci php怎么读xls文件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!