Heim >Datenbank >MySQL-Tutorial >Wie verhindert man die Zellaggregation beim Exportieren von MySQL-Daten nach Excel mit PHP?
MySQL-Daten nach Excel in PHP exportieren: Zellaggregation auflösen
Beim Exportieren von MySQL-Daten nach Excel mit PHP treten häufig Probleme auf Der Text ist auf eine einzelne Zelle beschränkt. Um dieses Problem zu lösen, müssen wir sicherstellen, dass jeder Zeilenwert eine eigene Zelle belegt.
Der von Ihnen bereitgestellte Originalcode versucht, Daten zu exportieren, indem er Zeilenwerte mit mysql_fetch_assoc abruft und sie in einer Schleife durchläuft. Allerdings gibt diese Methode ein assoziatives Array zurück, was bedeutet, dass alle Zeilenwerte in einem einzigen Array-Element gespeichert werden. Um Werte in einzelne Zellen aufzuteilen, müssen wir stattdessen mysql_fetch_row verwenden.
Hier ist der geänderte Teil Ihres Codes:
$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); }
Durch die Verwendung von mysql_fetch_row erhalten wir ein Array, in dem jedes Element eine Spalte darstellt Wert. Dadurch können wir Werte Zeile für Zeile an unsere Excel-Datei anhängen, sodass jede Zeile ihren eigenen eindeutigen Wertesatz enthält.
Denken Sie daran, die Dateikopfzeilen und den Exportdateinamen nach Bedarf in Ihrem geänderten Skript anzupassen.
Das obige ist der detaillierte Inhalt vonWie verhindert man die Zellaggregation beim Exportieren von MySQL-Daten nach Excel mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!