PHP POI:Excel文件操作工具
PHP POI是一個基于PHP的操作Excel文件的工具,其借鑒了Apache POI在Java中的應(yīng)用,可用于創(chuàng)建、讀取和編輯Excel文件,是一個非常實(shí)用的工具。
創(chuàng)建Excel文件
使用PHP POI可以非常方便地創(chuàng)建Excel文件,唯一的前提是需要安裝PHPExcel庫。下面是一個簡單的創(chuàng)建Excel文件的示例代碼:
require_once 'PHPExcel.php'; $phpexcel = new PHPExcel(); $phpexcel->setActiveSheetIndex(0);//設(shè)置當(dāng)前的sheet頁 $phpexcel->getActiveSheet()->setCellValue('A1', '姓名');//設(shè)置表頭 $phpexcel->getActiveSheet()->setCellValue('B1', '年齡'); $phpexcel->getActiveSheet()->setCellValue('C1', '性別'); $phpexcel->getActiveSheet()->setCellValue('A2', 'tom');//填充數(shù)據(jù) $phpexcel->getActiveSheet()->setCellValue('B2', '25'); $phpexcel->getActiveSheet()->setCellValue('C2', '男'); $phpexcel->getActiveSheet()->setCellValue('A3', 'mary'); $phpexcel->getActiveSheet()->setCellValue('B3', '23'); $phpexcel->getActiveSheet()->setCellValue('C3', '女'); $objWriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');//創(chuàng)建Excel2007文件 $objWriter->save('students.xlsx');//保存文件
上面的代碼中,我們新建了一個PHPExcel實(shí)例,然后設(shè)置了一個sheet頁,添加了表頭和數(shù)據(jù),最后創(chuàng)建了一個Excel2007文件并保存。
讀取Excel文件
使用PHP POI可以輕松地讀取Excel文件,讀取Excel文件的內(nèi)容可以用一個循環(huán)實(shí)現(xiàn)。下面是一個簡單的讀取Excel文件的示例代碼:
require_once 'PHPExcel.php'; $objPHPExcel = PHPExcel_IOFactory::load("students.xlsx");//加載文件 $sheet = $objPHPExcel->getSheet(0);//獲取第一個sheet頁 $highestRow = $sheet->getHighestRow();//獲取行數(shù) $highestColumn = $sheet->getHighestColumn();//獲取列數(shù) for ($i = 2; $i <= $highestRow; $i++) {//循環(huán)讀取數(shù)據(jù) $rowData = $sheet->rangeToArray('A' . $i . ':' . $highestColumn . $i, NULL, TRUE, FALSE); echo '第'.$i.'行--->'.$rowData[0][0].', '.$rowData[0][1].', '.$rowData[0][2].'<br>'; }
上面的代碼中,我們首先通過PHPExcel_IOFactory::load()方法加載了一個Excel文件,然后通過getHighestRow()和getHighestColumn()方法獲取了行數(shù)和列數(shù),最后使用rangeToArray()方法讀取數(shù)據(jù)。
編輯Excel文件
使用PHP POI可以方便地編輯Excel文件,只需設(shè)置相應(yīng)的內(nèi)容即可。下面是一個簡單的編輯Excel文件的示例代碼:
require_once 'PHPExcel.php'; $objPHPExcel = PHPExcel_IOFactory::load("students.xlsx"); $sheet = $objPHPExcel->getSheet(0); $sheet->setCellValue('D1', '備注');//添加一個表頭 $highestRow = $sheet->getHighestRow(); for ($i = 2; $i <= $highestRow; $i++) { $rowData = $sheet->rangeToArray('A' . $i . ':' . $highestColumn . $i, NULL, TRUE, FALSE); if($rowData[0][0] == 'tom'){//根據(jù)姓名修改性別 $sheet->setCellValue('C'.$i, '女'); } } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//創(chuàng)建Excel2007文件 $objWriter->save('students.xlsx');//保存文件
上面的代碼中,我們首先加載了一個Excel文件,然后添加了一個表頭,并修改了其中的一個單元格的內(nèi)容,最后保存文件。其中,我們通過循環(huán)讀取數(shù)據(jù),并根據(jù)姓名修改性別。
結(jié)束語
通過上面的介紹,我們可以發(fā)現(xiàn),PHP POI是一個非常實(shí)用的工具,可以輕松地操作Excel文件,方便了我們對數(shù)據(jù)的管理。如果你需要進(jìn)行Excel文件的操作,PHP POI是一個不錯的選擇。