首頁  >  文章  >  後端開發  >  php 查詢匯出excel怎麼實現

php 查詢匯出excel怎麼實現

PHPz
PHPz原創
2023-03-29 11:33:451527瀏覽

在現代科技和大數據時代,資料處理成為了各個產業和企業不可或缺的重要環節,特別是在網路領域中,資料處理更是一個關鍵的問題。 PHP作為一種WEB開發語言,功能強大,應用廣泛。在數據處理方面,PHP也能提供很好的支援。本文將介紹如何利用PHP查詢資料並匯出到Excel中。

一、PHP查詢資料庫

在PHP中,查詢資料庫並取得資料的過程,需要先連接資料庫,然後選擇資料庫,最後是執行SQL語句。與普通的SQL語句相比,PHP中的SQL語句需要轉義以防止SQL注入攻擊。

連接資料庫的函數為mysqli_connect(),包含四個參數,分別是:主機名稱、使用者名稱、密碼和資料庫名稱。如果連線失敗會回傳false,否則會傳回一個資料庫連線物件。

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

選擇資料庫的函數為mysqli_select_db(),包含兩個參數,分別是:資料庫連接物件和資料庫名稱。

mysqli_select_db($conn, $dbname);

執行SQL語句的函數為mysqli_query(),包含兩個參數,分別是:資料庫連接物件和SQL語句。

$sql = "SELECT * FROM `table1`";
$result = mysqli_query($conn, $sql);

執行完以上三個步驟,$result物件將包含所有查詢到的資料。

二、PHP導出Excel

PHP導出Excel有多種方法,本文介紹其中一個較簡單的方法。處理Excel需要用到PHPExcel函式庫,需要先安裝該函式庫才能進行Excel檔案的讀寫操作。

可以透過Composer安裝PHPExcel庫:

composer require phpoffice/phpexcel

或手動下載最新版本壓縮套件:

https://github.com/PHPOffice/PHPExcel/releases

解壓縮後將Classes資料夾放到專案目錄中,然後引入PHPExcel庫:

require_once 'Classes/PHPExcel.php';

Excel表格主要由「工作簿」、「工作表」和「儲存格」三個部分組成。 PHPExcel中封裝了許多類別和方法,可以輕鬆建立、編輯和保存Excel表格。以下是一個簡單的範例:

//创建PHPExcel对象
$objPHPExcel = new PHPExcel();

//设置工作簿属性
$objPHPExcel->getProperties()
    ->setCreator("Creator")
    ->setLastModifiedBy("Last Modified By")
    ->setTitle("Title")
    ->setSubject("Subject")
    ->setDescription("Description")
    ->setKeywords("keywords")
    ->setCategory("Category");

//创建工作表
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('Sheet1');

//添加表头
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Name');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Age');
$objPHPExcel->getActiveSheet()->setCellValue('D1', 'Gender');

//循环添加数据
$i = 2;
while ($row = mysqli_fetch_assoc($result)) {
    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $row['id']);
    $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $row['name']);
    $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $row['age']);
    $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $row['gender']);
    $i++;
}

//设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);

//设置单元格格式
$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);

//将表格导出为Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="export.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
exit;

該例中,先建立了一個PHPExcel對象,設定了工作簿和工作表屬性,新增了表頭和數據,然後設定了列寬度和單元格格式。

最後透過PHPExcel_IOFactory類別中的createWriter()方法將PHPExcel物件的資料匯出為Excel檔案。在匯出之前需設定正確的MIME類型、檔案名稱和快取控制頭。

總結

以上就是利用PHP查詢資料庫並匯出Excel的基本步驟。 PHP作為一種高效、靈活的程式語言,提供了許多便利的處理資料的方法。利用PHPExcel函式庫,也可以輕鬆地操作Excel文件,進而實現靈活的資料處理與匯出。

以上是php 查詢匯出excel怎麼實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn