PHP讀取Excel檔案內容

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   使用   ar   for   檔案   

項目需要讀取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個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.