Mengeksport Data MySQL ke Excel dalam PHP: Menyelesaikan Pengagregatan Sel
Apabila mengeksport data MySQL ke Excel menggunakan PHP, adalah perkara biasa untuk menghadapi isu di mana teks terhad kepada satu sel sahaja. Untuk menyelesaikan masalah ini, kami perlu memastikan bahawa setiap nilai baris menduduki selnya sendiri.
Kod asal yang anda berikan cuba mengeksport data dengan mengambil nilai baris menggunakan mysql_fetch_assoc dan menggelungkannya. Walau bagaimanapun, kaedah ini mengembalikan tatasusunan bersekutu, yang bermaksud bahawa semua nilai baris disimpan dalam satu elemen tatasusunan. Untuk memisahkan nilai ke dalam sel individu, sebaliknya kita mesti menggunakan mysql_fetch_row.
Berikut ialah bahagian kod anda yang diubah suai:
$result = mysql_query($queryexport); $header = ''; for ($i = 0; $i < mysql_num_fields($result); $i++) { $header .= mysql_field_name($result, $i) . "\t"; } while ($row = mysql_fetch_row($result)) { // Begin new line $line = ''; foreach ($row as $value) { if (!isset($value) || $value == '') { $value = "\t"; } else { $value = str_replace('"', '""', $value); $value = '"' . $value . '"' . "\t"; } $line .= $value; } // End line $data .= trim($line) . "\n"; $data = str_replace("\r", "", $data); }
Dengan menggunakan mysql_fetch_row, kami memperoleh tatasusunan yang setiap elemen mewakili lajur nilai. Ini membolehkan kami menambah nilai pada fail Excel kami baris demi baris, menghasilkan setiap baris mengandungi set nilai uniknya sendiri.
Ingat untuk melaraskan pengepala fail dan mengeksport nama fail seperti yang diperlukan dalam skrip anda yang diubah suai.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Pengagregatan Sel Apabila Mengeksport Data MySQL ke Excel menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!