PHP讀取Excel文件內容
項目需要讀取Excel的內容,從百度搜索了下,主要有兩個選擇,第一個是PHPExcelReader,另外一個是PHPExcel。
PHPExcelReader比較輕量級,僅支持Excel的讀取,實際上就是一個Reader。但是可惜的是不能夠支持Excel 2007的格式(.xlsx)。
PHPExcel比較強大,能夠將內存中的數據輸出成Excel文件,同時還能夠對Excel做各種操作,下面主要介紹下如何使用PHPExcel進行Excel 2007格式(.xlsx)文件的讀取。
下載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();
|
輸出$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 <?php
27 }
28 ?>
29 </table>
轉 http://www.cnblogs.com/cocowool/p/4025852.html
同時也可借鑒這篇文章 http://extjs.org.cn/fatjames/archives/379

