国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

利用PHPExcel如何讀取表格中內容

2020-03-22 20:25:15
字體:
來源:轉載
供稿:網友
利用PHPExcel如何讀取表格的內容呢?話不多說,下面的這篇文章將給大家詳細的介紹關于PHPExcel讀取表格中內容的方法。

先引入類IOFactory.php

require_once ../PHPExcel/IOFactory.php $filePath = test.xlsx // 測試文件

加載測試文件

$inputFileType = PHPExcel_IOFactory::identify($filePath) 判斷文件類型

$objReader = PHPExcel_IOFactory::createReader($inputFileType); 實例化類型對象

$objPHPExcel = $objReader- load($filePath); 加載文件

下面主要判斷Excel2007和Excel5類型,即xlsx/xlsm/xltx/xltm和xls/xlt格式文件

try { $inputFileType = PHPExcel_IOFactory::identify($filePath); if ($inputFileType !== Excel5 $inputFileType !== Excel2007 ) { unlink($filePath) str_alert(-1, 請確保導入的html' target='_blank'>文件格式正確!  $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader- load($filePath);} catch(Exception $e) { unlink($filePath) str_alert(-1, 加載文件發生錯誤:” .pathinfo($filePath,PATHINFO_BASENAME). ”: .$e- getMessage()); }
獲取當前工作表
$sheet = $objPHPExcel- getSheet(0);$sheet = $objPHPExcel- getActiveSheet();
獲取工作表行數和列數
$highestRow = $sheet- getHighestRow();$highestColumn = $sheet- getHighestColumn();

注意:有時候你會發現你的表格明明有內容的行數就5行,但是獲取到的$highestRow卻有7,8行或者更多,這可能是因為你在操作你的表格的時候不小心點擊了其它行數,雖然沒有填寫內容,但getHighestRow也是能夠識別出行數;
想要獲取有內容的行數應該使用getHighestDataRow和getHighestDataColumn
源碼注釋是這樣介紹的string Highest row number that contains data,即包含數據的字符串最高行數.

單元格具體內容

xlsx類型的表格單元格是通過類似xy軸坐標來獲取的,

可通過類似

 $sheet- getCell( A1 )- getValue(); $sheet- getCell( B2 )- getValue();

獲取相應位置的內容,
如果不想通過字母了來遍歷獲取,可以用數字索引方法

 $sheet- getCellByColumnAndRow(0,1); $sheet- getCellByColumnAndRow(1,2);

注意坐標中第一個參數從0開始,0代表A,1代表B...,第二個參數從1開始.
下面是遍歷表格獲取全部單元格內容:

$dataSet=array();for ($column = A $column = $highestColumn; $column++) {//列數是以A列開始 for ($row = 4; $row = $highestRow; $row++) { //行數是以第4行開始 $cell = $sheet- getCell($column . $row)- getValue(); if($cell instanceof PHPExcel_RichText) { //富文本轉換字符串 $cell = $cell- __toString(); $dataSet[$row][] = $cell;}

其中富文本轉換字符串,是使用$cell instanceof PHPExcel_RichText判斷是否為富文本,查閱資料發現如果你的單元格中字符串包含兩種以上的字體會自動被設為富文本,這時候需要__toString()轉換

判斷合并單元格是否位于最左上角

當我們循環輸出所有單元格后發現,一些被合并的單元格只有最左上坐標的是有內容的,其他都是null
例如A4,A5合并成一個單元格,getCell( A4 )是有正常內容的,但是getCell( A5 )是null.
isMergeRangeValueCell可以用來判斷某個具體的單元格是否為最左上角

$sheet- getCell( A . $row)- isMergeRangeValueCell()

當$row為4的時候是返回true,5的時候返回false

轉換時間

獲取表格中時間格式的內容,需要PHPExcel_Shared_Date::ExcelToPHP()來轉換為php可識別的時間格式

date( Y-m-d ,PHPExcel_Shared_Date::ExcelToPHP($sometime);

相關推薦:

phpexcel讀取excel表格時間的例子

PHPExcel正確讀取excel表格時間單元格

以上就是利用PHPExcel如何讀取表格中內容的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泽普县| 东乡族自治县| 山丹县| 凤阳县| 漳州市| 承德县| 临澧县| 海安县| 三亚市| 商都县| 阳东县| 大英县| 浦县| 福贡县| 昔阳县| 深水埗区| 尼勒克县| 磐石市| 法库县| 黄大仙区| 石城县| 林芝县| 泸溪县| 漠河县| 遂平县| 股票| 会昌县| 珠海市| 德保县| 时尚| 民乐县| 南投县| 时尚| 浙江省| 洞口县| 高阳县| 平江县| 平江县| 屏边| 南陵县| 岳池县|