PHP POI:Excel文件操作工具
PHP POI是一個基于PHP的操作Excel文件的工具,其借鑒了Apache POI在Java中的應用,可用于創建、讀取和編輯Excel文件,是一個非常實用的工具。
創建Excel文件
使用PHP POI可以非常方便地創建Excel文件,唯一的前提是需要安裝PHPExcel庫。下面是一個簡單的創建Excel文件的示例代碼:
require_once 'PHPExcel.php'; $phpexcel = new PHPExcel(); $phpexcel->setActiveSheetIndex(0);//設置當前的sheet頁 $phpexcel->getActiveSheet()->setCellValue('A1', '姓名');//設置表頭 $phpexcel->getActiveSheet()->setCellValue('B1', '年齡'); $phpexcel->getActiveSheet()->setCellValue('C1', '性別'); $phpexcel->getActiveSheet()->setCellValue('A2', 'tom');//填充數據 $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');//創建Excel2007文件 $objWriter->save('students.xlsx');//保存文件
上面的代碼中,我們新建了一個PHPExcel實例,然后設置了一個sheet頁,添加了表頭和數據,最后創建了一個Excel2007文件并保存。
讀取Excel文件
使用PHP POI可以輕松地讀取Excel文件,讀取Excel文件的內容可以用一個循環實現。下面是一個簡單的讀取Excel文件的示例代碼:
require_once 'PHPExcel.php'; $objPHPExcel = PHPExcel_IOFactory::load("students.xlsx");//加載文件 $sheet = $objPHPExcel->getSheet(0);//獲取第一個sheet頁 $highestRow = $sheet->getHighestRow();//獲取行數 $highestColumn = $sheet->getHighestColumn();//獲取列數 for ($i = 2; $i <= $highestRow; $i++) {//循環讀取數據 $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()方法獲取了行數和列數,最后使用rangeToArray()方法讀取數據。
編輯Excel文件
使用PHP POI可以方便地編輯Excel文件,只需設置相應的內容即可。下面是一個簡單的編輯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'){//根據姓名修改性別 $sheet->setCellValue('C'.$i, '女'); } } $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');//創建Excel2007文件 $objWriter->save('students.xlsx');//保存文件
上面的代碼中,我們首先加載了一個Excel文件,然后添加了一個表頭,并修改了其中的一個單元格的內容,最后保存文件。其中,我們通過循環讀取數據,并根據姓名修改性別。
結束語
通過上面的介紹,我們可以發現,PHP POI是一個非常實用的工具,可以輕松地操作Excel文件,方便了我們對數據的管理。如果你需要進行Excel文件的操作,PHP POI是一個不錯的選擇。