PHP Excel是一種用于處理Excel文檔的PHP庫,它讓我們可以方便地讀取、編輯和創(chuàng)建Excel表格。在實際開發(fā)中,我們常需要用到Excel文件進行數據導入和導出,這時候就可以使用PHP Excel來實現(xiàn)。
首先來看一下如何使用PHP Excel導出Excel文件。假設我們有一個包含學生信息的數組$student_info,我們想把它導出成一個Excel文件。那么我們可以采用如下代碼:
// 引入PHPExcel類庫 require_once 'Classes/PHPExcel.php'; // 創(chuàng)建新的Excel對象 $objPHPExcel = new PHPExcel(); // 設置當前sheet $objPHPExcel->setActiveSheetIndex(0); $sheet = $objPHPExcel->getActiveSheet(); // 設置excel的列名 $columns = array('姓名', '性別', '年齡', '成績'); $i = 0; foreach ($columns as $key =>$value) { $sheet->setCellValueByColumnAndRow($i, 1, $value); $i++; } // 填充數據到Excel文件 $row = 2; foreach ($student_info as $student) { $sheet->setCellValueByColumnAndRow(0, $row, $student['name']); $sheet->setCellValueByColumnAndRow(1, $row, $student['sex']); $sheet->setCellValueByColumnAndRow(2, $row, $student['age']); $sheet->setCellValueByColumnAndRow(3, $row, $student['score']); $row++; } // 設置文件頭,告訴瀏覽器輸出Excel文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="student_info.xls"'); header('Cache-Control: max-age=0'); // 輸出Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');上面的代碼中,我們先創(chuàng)建了一個新的PHPExcel對象,并設置了當前sheet。然后我們根據$columns數組設置了Excel的列名,并通過一個循環(huán)將學生信息填充到Excel文件中。最后設置了一個文件頭,告訴瀏覽器輸出Excel文件,然后將Excel文件輸出到瀏覽器。 接下來看看如何使用PHP Excel導入Excel文件。假設我們已經有了一個student_info.xls文件,我們想將其中的數據導入到數據庫中。我們可以采用如下代碼:
// 引入PHPExcel類庫 require_once 'Classes/PHPExcel.php'; require_once 'Classes/PHPExcel/IOFactory.php'; // 加載Excel文件 $inputFileName = 'student_info.xls'; $objReader = PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load($inputFileName); $sheet = $objPHPExcel->getActiveSheet(); // 讀取數據 $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); // 從第二行開始讀取數據,第一行為列名 for ($row = 2; $row<= $highestRow; $row++) { $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, null, true, false); // 將數據插入到數據庫中 }上面的代碼中,我們首先通過PHPExcel_IOFactory類的createReader方法加載了student_info.xls文件,然后通過getActiveSheet方法獲取當前sheet。接著,我們用getHighestRow和getHighestColumn方法獲取Excel表格的行數和列數,并從第二行開始,通過循環(huán)讀取Excel文件中的數據。每次讀取一行數據之后,我們可以將它插入到數據庫中。 總結一下,PHP Excel是一個非常強大的庫,它可以幫我們快速地實現(xiàn)Excel文件的導入導出功能。如果我們需要對Excel文件進行更加復雜的操作,也可以通過學習PHPExcel的相關文檔,進一步掌握它的使用方法。