首頁 >資料庫 >mysql教程 >如何使用 PHP 將 MySQL 資料匯出到單獨的 Excel 儲存格?

如何使用 PHP 將 MySQL 資料匯出到單獨的 Excel 儲存格?

Barbara Streisand
Barbara Streisand原創
2024-11-25 10:45:14546瀏覽

How to Export MySQL Data to Separate Excel Cells using PHP?

使用PHP 在單獨的Excel 單元格中檢索MySQL 資料

您的原始PHP 腳本將所有文字值組合到一個Excel 單元在格中,這與您的衝突所需的單獨行輸出。為了修正此問題,我們將修改程式碼以將資料正確格式化為不同的儲存格。

以下更新的程式碼包括以下變更:

  1. 單獨的行: mysql_fetch_row() 用於逐行擷取資料。
  2. 格式化Headers:標題行填入 MySQL 欄位名稱。
  3. 格式化資料行:解析資料行,以製表符分隔,並引用 Excel 相容性。
  4. Excel 輸出:格式化資料回顯為 Excel 相容的 (.xls)檔案。
<?php
// MySQL connection details
$DB_Server = "localhost";
$DB_Username = "username";
$DB_Password = "password";
$DB_DBName = "databasename";
$DB_TBLName = "tablename";

// Define Excel file name
$filename = "exportfile.xls";

// Connect to MySQL
$Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn't connect to MySQL: " . mysql_error());

// Select database
$Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn't select database: " . mysql_error());

// Execute query
$sql = "SELECT * FROM $DB_TBLName";
$result = @mysql_query($sql, $Connect) or die("Couldn't execute query: " . mysql_error());

// Set CSV separator (tabs)
$sep = "\t";

// Print column names as headers
for ($i = 0; $i < mysql_num_fields($result); $i++) {
    echo mysql_field_name($result, $i) . $sep;
}
echo "\n";

// Print data rows
while ($row = mysql_fetch_row($result)) {
    $line = '';

    for ($j = 0; $j < mysql_num_fields($result); $j++) {
        if (empty($row[$j])) {
            $line .= "NULL" . $sep;
        } else {
            $line .= '"' . str_replace('"', '""', $row[$j]) . '"' . $sep;
        }
    }

    $line = trim($line);
    echo $line . "\n";
}

// Close MySQL connection
mysql_close($Connect);

// Set file headers for Excel
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");

// Echo data to Excel file
echo $line . "\n";

此更新的程式碼將產生一個 Excel 文件,其中資料分為各個儲存格,滿足您的要求。

以上是如何使用 PHP 將 MySQL 資料匯出到單獨的 Excel 儲存格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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