MySQL是目前互聯網常用的數據庫之一,但在實際工作中,通常需要將MySQL中的數據導出為Excel表格,進行數據分析和處理。這里介紹一種使用PHP語言對MySQL進行查詢,并將查詢結果導出為Excel表格的方法。
首先,我們需要連接MySQL數據庫并查詢需要的數據。代碼如下:
$conn = mysqli_connect("localhost", "username", "password", "database_name"); //檢查連接是否成功 if (!$conn) { die("連接失敗: " . mysqli_connect_error()); } //查詢數據 $sql = "SELECT * FROM table_name"; $result = mysqli_query($conn, $sql);
然后,我們需要將查詢結果存儲到一個數組中,以便后續導出Excel表格。代碼如下:
$data = array(); while($row = mysqli_fetch_assoc($result)) { $data[] = $row; }
接著,我們需要使用PHPExcel庫將數據導出為Excel表格。首先,我們需要include PHPExcel庫文件。代碼如下:
require_once 'PHPExcel.php';
然后,我們需要初始化PHPExcel對象,并將查詢結果賦值給PHPExcel對象的一個Worksheet中。代碼如下:
$objPHPExcel = new PHPExcel(); //設置Worksheet的標題 $objPHPExcel->getActiveSheet()->setTitle('Worksheet 1'); //將查詢結果存儲到Worksheet中 $rowNum = 1; foreach ($data as $row) { $colNum = 0; foreach ($row as $cellValue) { //將數據寫入PHPExcel對象的單元格中 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($colNum, $rowNum, $cellValue); $colNum++; } $rowNum++; }
最后,我們需要設置HTTP頭信息,告訴瀏覽器將導出的文件命名為Excel表格,并將內容輸出為Excel文件格式。代碼如下:
//設置HTTP頭信息 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="worksheet.xls"'); header('Cache-Control: max-age=0'); //將數據輸出為Excel文件格式 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit;
最終的完整代碼如下:
$conn = mysqli_connect("localhost", "username", "password", "database_name"); //檢查連接是否成功 if (!$conn) { die("連接失敗: " . mysqli_connect_error()); } //查詢數據 $sql = "SELECT * FROM table_name"; $result = mysqli_query($conn, $sql); $data = array(); while($row = mysqli_fetch_assoc($result)) { $data[] = $row; } require_once 'PHPExcel.php'; $objPHPExcel = new PHPExcel(); //設置Worksheet的標題 $objPHPExcel->getActiveSheet()->setTitle('Worksheet 1'); //將查詢結果存儲到Worksheet中 $rowNum = 1; foreach ($data as $row) { $colNum = 0; foreach ($row as $cellValue) { //將數據寫入PHPExcel對象的單元格中 $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($colNum, $rowNum, $cellValue); $colNum++; } $rowNum++; } //設置HTTP頭信息 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="worksheet.xls"'); header('Cache-Control: max-age=0'); //將數據輸出為Excel文件格式 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit;
上一篇mysql查詢數據庫中庫
下一篇css3偽類 after