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
Lepaskan: 2024-11-25 10:45:14
asal
568 orang telah melayarinya

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";
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan