首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 輸出 Excel 檔案的輕量級實作方案

     編輯:PHP 相關知識

核心原理:HTTP 標頭控制瀏覽器行為

PHP 輸出 Excel 最簡單的方式,是利用 header() 函式發送特定的 MIME 類型與內容處理標頭,指示瀏覽器將輸出內容視為 Excel 檔案下載,而非網頁顯示。此法無需額外函式庫,代碼極精簡。

完整代碼範例

<?php
// 設定 MIME 類型為 Excel
header("Content-type: application/vnd.ms-excel");
// 設定下載檔名
header("Content-Disposition: attachment; filename=users.xls");

// 輸出表頭(以 Tab 分隔欄位)
echo "公司名稱\t";
echo "用戶名\t";
echo "密碼\t";
echo "二級域名\t";
echo "\n";

// 假設 $result['result'] 為資料陣列
foreach ($result['result'] as $val) {
    echo "{$val->ComName}\t";
    echo "{$val->UserName}\t";
    echo "{$val->UserTruePw}\t";
    // 處理可能為空的域名
    $domain = empty($val->DoMainName) ? '' : "https://{$val->DoMainName}.jiaomai.com";
    echo "{$domain}\t";
    echo "\n";
}
?>

關鍵注意事項

  • 編碼一致性:Excel 預期 UTF-8 編碼。若 PHP 檔案為 GB2312/Big5,輸出中文會亂碼。建議統一專案編碼為 UTF-8,或使用 iconv() / mb_convert_encoding() 轉碼後再輸出。
  • 分隔符選擇:範例使用 Tab (\t) 分隔欄位,Excel 開啟時能正確識別欄位。若資料含 Tab 或換行,建議改用 CSV 格式並妥善跳脫。
  • 大數據量:此法將所有內容一次性輸出到記憶體,資料量極大時可能耗盡記憶體。需分批輸出或改用 fopen('php://output') 串流寫入。

進階替代方案

若需支援 .xlsx 格式、樣式設定、多工作表、公式計算等進階功能,建議使用成熟函式庫:PhpSpreadsheet (原 PHPExcel 繼任者)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved