PHP是目前Web開發最為常用的語言之一,也是開源的。相較于其他的編程語言,在Web開發中使用PHP可以流暢地運行,并且很容易與MySQL等其他關系型數據庫相結合。而在開發和處理數據方面,使用Excel是一個非常普遍的需求。因此,今天我們要討論關于PHP Excel導出的問題。
在實際開發中,Excel表格的導出是一個很重要的功能,PHP為我們提供了豐富的API,可以用很少的代碼輕松實現數據的導出。接下來,我們來看一下如何使用PHP生成Excel表格。
**從MySQL中導出Excel表格**
我們首先需要在MySQL中準備一些數據來做參考。假設我們有一張表“users”,包含姓名、電子郵件和地址信息。現在我們要將這些數據導出成Excel表格,可以使用以下代碼:
getProperties()->setCreator("Your Name") ->setLastModifiedBy("Your Name") ->setTitle("Title") ->setSubject("Subject") ->setDescription("Description") ->setKeywords("excel php") ->setCategory("Category"); //設置表格頭 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', '姓名') ->setCellValue('B1', '電子郵件') ->setCellValue('C1', '地址'); //循環輸出數據 $i = 2; while($row=mysqli_fetch_array($result)){ $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A'.$i, $row['name']) ->setCellValue('B'.$i, $row['email']) ->setCellValue('C'.$i, $row['address']); $i++; } //設置文件名和格式 $filename = "users_list".date("YmdHis").".xls"; //發送HTTP頭信息,告訴瀏覽器要輸出Excel文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); //輸出Excel文件到瀏覽器 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); //清空緩存 exit; ?>在這里我們使用了PHPExcel這個 PHP 類庫來生成 Excel 表格。它是一個非常流行的 PHP Excel 類庫,可以生成和讀取 Excel 表格并且易于學習。在上面的代碼中,我們首先通過 mysqli 連接到 MySQL 數據庫并讀取表格數據,然后使用 PHPExcel 類庫創建并設置 Excel 屬性。接著,我們設置表格頭并使用循環遍歷每行數據輸入到 Excel 中。最后,我們使用 HTTP 頭信息告訴瀏覽器這是要輸出 Excel 文件,然后將文件保存到瀏覽器并退出。 **從數組中導出Excel表格** 如果我們沒有從 MySQL 數據庫讀取數據,而是將數據保存在數組中,我們可以使用類似的方法來生成 Excel 表格。以下是一個例子:
getProperties()->setCreator("Your Name") ->setLastModifiedBy("Your Name") ->setTitle("Title") ->setSubject("Subject") ->setDescription("Description") ->setKeywords("excel php") ->setCategory("Category"); //使用循環輸出數組數據到表格中 $i = 1; foreach($data as $row){ $objPHPExcel->getActiveSheet()->fromArray($row,NULL,'A'.$i); $i++; } //設置文件名和格式 $filename = "users_list".date("YmdHis").".xls"; //發送HTTP頭信息,告訴瀏覽器要輸出Excel文件 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); //輸出Excel文件到瀏覽器 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); //清空緩存 exit; ?>在上面的代碼中,我們定義了一個二維數組并將數據循環輸出到 Excel 表格中。在循環體中,使用 PHPExcel 類庫的 fromArray() 方法,將數組數據寫入 Excel 表格中。 **總結** 以上就是使用 PHP 生成 Excel 文件的方法,對于大多數我們在工作中需要的操作,PHPExcel 類已經足夠了。如果一些特殊操作需求,因為PHPExcel 本質上是一組編程接口,所以同時開發了一個很完整的文檔,支持各項操作。做為PHP開發者,我們需要熟悉它完成各種Excel文件操作和函數方法才是。