Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengeksport Data MySQL untuk Mengasingkan Sel Excel menggunakan PHP?

Bagaimana untuk Mengeksport Data MySQL untuk Mengasingkan Sel Excel menggunakan PHP?

Barbara Streisand
Barbara Streisandasal
2024-11-25 10:45:14633semak imbas

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

Mengambil Data MySQL dalam Sel Excel Asing menggunakan PHP

Skrip PHP asal anda menggabungkan semua nilai teks ke dalam sel Excel tunggal, bercanggah dengan anda output yang dikehendaki bagi baris berasingan. Untuk membetulkan isu ini, kami akan mengubah suai kod untuk memformat data anda dengan betul ke dalam sel yang berbeza.

Kod yang dikemas kini di bawah termasuk perubahan berikut:

  1. Baris Pisahkan: mysql_fetch_row() digunakan untuk mendapatkan semula baris data dengan baris.
  2. Pengepala Berformat: Baris pengepala diisi dengan nama medan MySQL.
  3. Baris Data Berformat: Baris data dihuraikan, diasingkan mengikut tab dan dipetik untuk keserasian Excel.
  4. Excel Output: Data yang diformatkan digemakan kepada fail (.xls) yang serasi dengan Excel.
<?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";

Kod yang dikemas kini ini akan menjana fail Excel dengan data yang diasingkan ke dalam sel individu, memenuhi keperluan anda keperluan.

Atas ialah kandungan terperinci Bagaimana untuk Mengeksport Data MySQL untuk Mengasingkan Sel Excel menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn