php怎麼讀xls文件

(*-*)浩
發布: 2023-02-25 19:20:01
原創
3430 人瀏覽過

主要有兩個選擇,第一個是PHPExcelReader,另外一個是PHPExcel。

php怎麼讀xls文件

PHPExcelReader比較輕量級,只支援Excel的讀取,其實就是一個Reader。 但可惜的是不能夠支援Excel 2007的格式(.xlsx)。

PHPExcel比較強大,能夠將記憶體中的資料輸出成Excel文件,同時也能夠對Excel做各種操作,以下主要介紹如何使用PHPExcel進行Excel 2007格式(.xlsx)檔案的讀取。 (推薦學習:PHP影片教學

下載PHPExcel後儲存到自己的類別檔案目錄中,然後使用下列程式碼可以開啟Excel 2007(xlsx)格式的檔案:

require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php';     //修改为自己的目录
echo &#39;<p>TEST PHPExcel 1.8.0: read xlsx file</p>&#39;;
$objReader = PHPExcel_IOFactory::createReaderForFile($filename); 
$objPHPExcel = $objReader->load($filename);
$objPHPExcel->setActiveSheetIndex(1);
$date = $objPHPExcel->getActiveSheet()->getCell(&#39;A16&#39;)->getValue();
登入後複製

輸出$date變數就能夠看到檔案中的內容了。 PHPExcel使用PHPExcel_IOFactory這個類別來自動匹配上傳的檔案類型,當然我們也可以自己制定要解析的檔案類型。之後透過load方法,將PHP檔案載入到objPHPExcel物件中。

如果Excel檔案有多個Sheet,可以透過setActiveSheetIndex來設定目前活動的Sheet。

要注意的是,對於Excel中的日期格式,PHPExcel讀出來的是不是日期類型,需要我們使用以下方法來進行日期類型轉換。

 echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
登入後複製

下面的程式碼顯示如何遍歷顯示Excel的內容:

<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 &#39;<thead>&#39;;
                    }
               foreach($cellIterator as $cell){
                    echo &#39;<td>&#39; . $cell->getValue() . &#39;</td>&#39;;
               }
                    if( $i == 0 ){
                         echo &#39;</thead>&#39;;
                    }
               $i++;
          ?>
          </tr>
     <?php
     }
?>
</table>
登入後複製

以上是php怎麼讀xls文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!