在PHP中,如果你需要讀取或修改Excel文檔,那么就需要使用到PHPExcel這個(gè)庫(kù)。同時(shí),也有一個(gè)非常實(shí)用的方法PHPExcel_Worksheet::getActiveSheet(),它可以從當(dāng)前活動(dòng)的工作表中獲取數(shù)據(jù)。繼續(xù)往下看,你就會(huì)發(fā)現(xiàn)這個(gè)方法的詳細(xì)使用方法。
例如,我們有一個(gè)叫做test.xlsx的Excel文件,該文件包含兩個(gè)工作表,名稱分別為Sheet1和Sheet2。為了從Sheet2中獲取數(shù)據(jù),我們只需要以下代碼:
getActiveSheet(); //獲取當(dāng)前活動(dòng)工作表 $data = $worksheet->toArray(); //將當(dāng)前工作表中的數(shù)據(jù)轉(zhuǎn)換為PHP數(shù)組 ?>
上述代碼將獲取當(dāng)前活動(dòng)的工作表,也就是Sheet1。不過如果我們希望獲取Sheet2中的數(shù)據(jù)呢?此時(shí)我們只需要將方法getActiveSheet()中的參數(shù)名設(shè)置為工作表的名稱即可:
getSheetByName('Sheet2'); $data = $worksheet->toArray(); ?>
如上代碼,我們使用getSheetByName()函數(shù)來(lái)指定需要獲取的工作表的名稱,這樣就可以從Sheet2中獲取數(shù)據(jù)了。如果你想獲取其他工作表的數(shù)據(jù),只需要根據(jù)已有工作表的名稱調(diào)整代碼即可。
當(dāng)然,還有其他的方法可以幫助我們從工作表中獲取數(shù)據(jù)。下面是一個(gè)例子:
getSheet(0); // 獲取工作表Sheet1 $data = $worksheet->rangeToArray('A2:B10',NULL,TRUE,FALSE); // 獲取 A2:B10 范圍內(nèi)的數(shù)據(jù) ?>
上述代碼通過rangeToArray()函數(shù)定義數(shù)據(jù)的起始單元格和結(jié)束單元格,它的第二個(gè)參數(shù)是數(shù)據(jù)類型,第三個(gè)參數(shù)是控制數(shù)據(jù)是否包含表頭,第四個(gè)參數(shù)控制數(shù)據(jù)是否轉(zhuǎn)換。在這種情況下,我們從工作表Sheet1中獲取了A2到B10范圍內(nèi)的數(shù)據(jù)。
總之,從Excel文檔中獲取數(shù)據(jù)一直是一個(gè)常見的任務(wù),而方法PHPExcel_Worksheet::getActiveSheet()可以幫助開發(fā)人員從Excel文件中獲取準(zhǔn)確的數(shù)據(jù),簡(jiǎn)化了Excel數(shù)據(jù)提取的過程。